在网上查了资料提到:可以用事务或者拼接SQL字符串。
我试了,怎么不行呢?如果其中一条出错,其他的还是执行了。
如:以下语句,正确的那条照样执行了,错误的没执行,是我哪里没写对吗?请大神们帮忙看看。
SqlConnection conn = new SqlConnection(CONN_STRING);
conn.Open();
SqlCommand command = conn.CreateCommand();
SqlTransaction transaction = null;
transaction = conn.BeginTransaction();
command.Connection = conn;
command.Transaction = transaction;
try
{
command.CommandText = "insert into tb1(A,B,C,D)values('" + STR1 + "','" + STR2 + "','" + STR3 +",'" + STR4 +");//正确
command.ExecuteNonQuery();
command.CommandText = "update tb2 set A='" + STR1 + "',B='" + STR2 + "',C='" + STR3 + "',D='" + STR4 + "';//出错
command.ExecuteNonQuery();
transaction.Commit();
}
catch
{
transaction.Rollback();
}