当前位置: 代码迷 >> ASP.NET >> ADO.NET有关问题
  详细解决方案

ADO.NET有关问题

热度:10142   发布时间:2013-02-25 00:00:00.0
ADO.NET问题
我用sqlcommand对数据表进行修改,当时运行的时候是执行成功了,但是修改的操作无法更新到数据表,每次关闭vs之后数据就自动回滚操作了,设置数据库复制到输出目录为从不复制也不得行,怎么办啊?求高手!!

------解决方案--------------------------------------------------------
开了数据库事务,但是没提交事务

------解决方案--------------------------------------------------------
捕捉异常,事务完成后要提交:
C# code
private static void ExecuteSqlTransaction(string connectionString){    using (SqlConnection connection = new SqlConnection(connectionString))    {        connection.Open();        SqlCommand command = connection.CreateCommand();        SqlTransaction transaction;        // Start a local transaction.        transaction = connection.BeginTransaction("SampleTransaction");        // Must assign both transaction object and connection        // to Command object for a pending local transaction        command.Connection = connection;        command.Transaction = transaction;        try        {            command.CommandText =                "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')";            command.ExecuteNonQuery();            command.CommandText =                "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')";            command.ExecuteNonQuery();            // Attempt to commit the transaction.            transaction.Commit();            Console.WriteLine("Both records are written to database.");        }        catch (Exception ex)        {            Console.WriteLine("Commit Exception Type: {0}", ex.GetType());            Console.WriteLine("  Message: {0}", ex.Message);            // Attempt to roll back the transaction.            try            {                transaction.Rollback();            }            catch (Exception ex2)            {                // This catch block will handle any errors that may have occurred                // on the server that would cause the rollback to fail, such as                // a closed connection.                Console.WriteLine("Rollback Exception Type: {0}", ex2.GetType());                Console.WriteLine("  Message: {0}", ex2.Message);            }        }    }}
  相关解决方案