事务执行,插入两张表,事务执行时,有时一个表没有插入数据,但另一个却插入数据了(不是在本地运行,在网络上运做)
以下是代码: protected void Button4_Click(object sender, EventArgs e)
{
string connectionString = WebConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
using (SqlConnection testConnection = new SqlConnection(connectionString))
{
SqlCommand myCommand = testConnection.CreateCommand();
SqlTransaction myTransaction = null;
try
{
testConnection.Open();
myTransaction = testConnection.BeginTransaction();
myCommand.Transaction = myTransaction;
myCommand.CommandText = "insert into tbTbone (name,type) values ("aaa","gf")";
myCommand.ExecuteNonQuery();
myCommand.CommandText = "insert into tbtwo (name,type) values ("bbb","hf")";
myCommand.ExecuteNonQuery();
myTransaction.Commit();
Response.Write("执行成功!");
}
catch (System.Exception)
{
myTransaction.Rollback();
Response.Write("没有执行!");
}
finally
{
testConnection.Close();
}
}
}
本地测试的时候,两张表都能插入成功的,放到网上正式用的时候,有时候能两张表都插入成功,有时候只有一张表插入成功,还有一张表没数据,不知道怎么回事啊。help啊。。
以下是代码: protected void Button4_Click(object sender, EventArgs e)
{
string connectionString = WebConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
using (SqlConnection testConnection = new SqlConnection(connectionString))
{
SqlCommand myCommand = testConnection.CreateCommand();
SqlTransaction myTransaction = null;
try
{
testConnection.Open();
myTransaction = testConnection.BeginTransaction();
myCommand.Transaction = myTransaction;
myCommand.CommandText = "insert into tbTbone (name,type) values ("aaa","gf")";
myCommand.ExecuteNonQuery();
myCommand.CommandText = "insert into tbtwo (name,type) values ("bbb","hf")";
myCommand.ExecuteNonQuery();
myTransaction.Commit();
Response.Write("执行成功!");
}
catch (System.Exception)
{
myTransaction.Rollback();
Response.Write("没有执行!");
}
finally
{
testConnection.Close();
}
}
}
本地测试的时候,两张表都能插入成功的,放到网上正式用的时候,有时候能两张表都插入成功,有时候只有一张表插入成功,还有一张表没数据,不知道怎么回事啊。help啊。。
解决方案 »
- 问个并发数的问题
- asp.net2页面输出的html代码不换行、未格式化问题
- 100分求一个.net子窗口向父窗口传值的源文件
- 请问ASP.NET如果连接cics
- js 删除 table
- |M| 从零开始学习存储过程第十贴:写了存储过程,但CSDN朋友都说组SQL不能防止注入和' 那我这写的第一条存储过程要怎么改 谢谢 急
- 没分了,有人回答吗?谢谢。。。
- 推荐一个好的邮件群发与邮件搜索工具给我把,100分赠与
- 急急啊!设计css时候出现document type does not allow element "li" here; missing one of "ul", "ol", "menu", 是什么原因啊
- Web.config的问题。
- 超级难
- 关于剪贴板的问题
创建事务一般在try外面,我一般都这样,没什么问题,你试试!!
SqlCommand myCommand = testConnection.CreateCommand();
testConnection.Open();
SqlTransaction myTransaction = testConnection.BeginTransaction();
myCommand.Transaction = myTransaction;
try
{
myCommand.CommandText = "insert into tbTbone (name,type) values ("aaa","gf")";
myCommand.ExecuteNonQuery();
myCommand.CommandText = "insert into tbtwo (name,type) values ("bbb","hf")";
myCommand.ExecuteNonQuery();
myTransaction.Commit();
Response.Write("执行成功!");
}
string sql="
insert into tbTbone (name,type) values ("aaa","gf");insert into tbtwo (name,type) values ("bbb","hf")";
myCommand.CommandText=sql;
把两个合成一个sql语句试下
values ("aaa","gf")
myCommand.ExecuteNonQuery();
myCommand.CommandText = "insert into tbtwo (name,type) values ("bbb","hf")"; 能执行成功那就邪门了