如何在WPF中将数据从一个sqlite数据库复制到另一个sqlite数据库?

时间:2019-03-20 04:07:17

标签: c# wpf sqlite

我有2个数据库,分别为TempPosOrderPayment和另一个Orders,它们都具有与TempPosOrderPayment相同的表,并具有相同的属性和列。问题是我想从PosOrderPayment获取所有数据并将其保存到 public void InsertOrder(Order order) { try { using (PosOrderPaymentDBContext db = new PosOrderPaymentDBContext()) { db.Orders.Add(order); db.SaveChanges(); } } catch (Exception ex) { CustomExceptionHandling customExceptionHandling = new CustomExceptionHandling(); customExceptionHandling.CustomExHandling(ex.ToString()); } } 中。我想在业务层(OrderBo)上执行代码。我想避免重新插入数据,这就是为什么我想从其他数据库中的其他表中检索并复制数据和行,因为这两个东西将从2个不同的应用程序中插入。

现在我看起来像这样

//这在我的付款申请中

 public void InsertOrder(Order order)
    {
        try
        {        
         using (tempPosOrderPaymentDBContext db = new tempPosOrderPaymentDBContext())
            {
                db.Orders.Add(order);
                db.SaveChanges();
            }
 }
        catch (Exception ex)
        {
             CustomExceptionHandling customExceptionHandling = new CustomExceptionHandling();
            customExceptionHandling.CustomExHandling(ex.ToString());
        }
    }

//这是我的收银员申请

Pay

有办法吗?

情况就像 当用户在出纳应用程序中单击按钮Orders时,它将所有数据保存在TempPosOrderPayment数据库中的表Payment中,然后转到付款应用程序。当用户在付款应用程序中单击按钮Orders时,它将复制TempPosOrderPayment内表Orders中的所有数据并将其保存到PosOrderPayment数据库内的表Orders

付款完成后,TempPosOrderPayment数据库中的表BASE_URL将为空。并且每次用户运行应用程序时,都会重复执行此插入复制删除操作

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,请先在“收银员”应用程序中捕获客户的订单,并将其保存在数据库1(TempPosOrderPayment)中,然后确认付款,然后在“付款”应用程序中复制此订单到另一个数据库(PosOrderPayment)。

假设您必须使用两个单独的数据库,那么上述情况看起来很合理,尽管容易出错-如果将记录复制到TempPosOrderPayment后忘记从PosOrderPayment删除记录怎么办?

如果您只能在一个数据库中工作,则可以使用一些状态字段来指示订单的业务状态(已接收,已确认,已付款...),还可以使用事务来确保数据保持一致。 / p>