C#Windows应用程序与SQL Server数据库 - dataloss,而意外断电

时间:2017-04-29 05:50:36

标签: c# .net sql-server winforms

我有一个带有SQL Server 2014 Express数据库的C#Windows应用程序。在运行应用程序时,它使用ADO.Net插入/更新一些记录。当PC因电源故障而意外关闭时,数据库中所有已保存/更新的记录都将丢失。

当我们关闭应用程序时,所有数据都会正确存储。

2 个答案:

答案 0 :(得分:0)

ADO.NET交易就是答案。您可以阅读更多here.

答案 1 :(得分:0)

您可以尝试以下代码:

using System.Data.SqlClient;

var connection = new SqlConnection("Your connection");
{
    var command = connection.CreateCommand();
    SqlTransaction transaction = null;
    try
    {
        connection.Open();
        transaction = connection.BeginTransaction();
        command.Transaction = transaction;
        command.CommandText = "Your query";
        command.ExecuteNonQuery();
        transaction.Commit();
    }
    catch (Exception ex)
    {
        if (transaction != null) transaction.Rollback();
    }
    finally
    {
       connection.Close();
    }
}