Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有SQL Server数据库的C#Windows应用程序-意外断电时数据丢失_C#_.net_Sql Server_Winforms - Fatal编程技术网

带有SQL Server数据库的C#Windows应用程序-意外断电时数据丢失

带有SQL Server数据库的C#Windows应用程序-意外断电时数据丢失,c#,.net,sql-server,winforms,C#,.net,Sql Server,Winforms,我有一个带有SQL Server 2014 Express数据库的C#Windows应用程序。运行应用程序时,它使用ADO.Net插入/更新一些记录。当电脑因电源故障意外关机时,数据库中所有保存/更新的记录都将丢失 当我们关闭应用程序时,所有数据都正确存储。ADO.NET事务就是答案。您可以阅读更多您可以尝试以下代码: using System.Data.SqlClient; var connection = new SqlConnection("Your connection"); {

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


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

ADO.NET事务就是答案。您可以阅读更多

您可以尝试以下代码:

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();
    }
}

如果在插入时停电,在事务可以提交之前,那么在下一次启动时,未提交的更改将回滚,这是一件好事!请重新尝试这些插入。感谢回复James,现有应用程序我不使用事务提交数据库记录,如果我在插入或更新某些记录后正常关闭应用程序,则它会正确保存。但为什么在应用程序以断电情况结束时记录会丢失呢。我还添加了用于提交每条记录的事务,但是在断电情况下事务不起作用。谢谢回复FARUKH,我已经用SQL事务检查过了,但是没有工作。您可能想在这里使用< <代码> >考虑一些<代码>;谢谢丽娜的回复。。。我已经写了相同的代码,请理解我的场景细节我在1分钟内连续插入和更新表中的记录我插入30行更新20行,在执行过程中,如果我直接关闭我的电脑,那么所有30条插入的记录和20条更新的记录都丢失了,我正在使用上述代码。