【发布时间】:2013-10-17 13:11:23
【问题描述】:
谁能告诉我是否有充分的理由使用以下两个代码块之一而不是另一个?
using (SqlTransaction mySqlTransaction = mySqlConnection.BeginTransaction)
{
using (SqlCommand mySqlCmd =
new SqlCommand("First of many SQL statements here", mySqlConnection, mySqlTransaction)
{
mySqlCmd.Parameters.Add("@MyFirstParm", SqlDbType.Int).Value = myFirstVal;
mySqlCmd.ExecuteNonQuery();
}
using (SqlCommand mySqlCmd =
new SqlCommand("Second of many SQL statements here", mySqlConnection, mySqlTransaction)
{
mySqlCmd.Parameters.Add("@MySecondParm", SqlDbType.Int).Value = mySecondVal;
mySqlCmd.ExecuteNonQuery();
}
.
.
.
sqlTransaction.Commit();
}
对比
using (SqlTransaction mySqlTransaction = mySqlConnection.BeginTransaction)
{
using (SqlCommand mySqlCmd = new SqlCommand("", mySqlConnection, mySqlTransaction)
{
mySqlCmd.Parameters.Add("@MyFirstParm", SqlDbType.Int).Value = myFirstVal;
mySqlCmd.Parameters.Add("@MySecondParm", SqlDbType.Int).Value = mySecondVal;
mySqlCmd.CommandText = "First of many SQL statements here";
mySqlCmd.ExecuteNonQuery();
mySqlCmd.CommandText = "Second of many SQL statements here";
mySqlCmd.ExecuteNonQuery();
.
.
.
}
sqlTransaction.Commit();
}
【问题讨论】:
-
您的查询有多少个参数?
-
第二种方法结束时有多少个参数?
-
正确。参数的数量可能很重要,因为(对不起,如果我错了)您可能会通过提供查询来面对错误消息,即您有太多参数
标签: c# sqlcommand