1
我的代码中的问题在哪里?将参数发送到存储过程
我使用存储过程和事务。
对于一个参数要正常工作,但是当参数的数量超过一个时会发生错误。
我的问题在哪里?
这是我在C#
internal static bool ExecuteNonQueryTransaction(string CommandName, CommandType cmdType, SqlParameter[][] pars)
{
int result = 0;
SqlTransaction tr = null;
int h = pars.GetLength(0);
using (SqlConnection con = new SqlConnection(CONNECTION_STRING))
{
if (con.State != ConnectionState.Open)
{
con.Open();
}
try
{
tr = con.BeginTransaction();
using (SqlCommand cmd = con.CreateCommand())
{
cmd.CommandType = cmdType;
cmd.Transaction = tr;
cmd.CommandText = CommandName;
// cmd.Parameters.AddRange(pars);
for (int i = 0; i < pars.GetLength(0); i++)
{
cmd.Parameters.AddRange(pars[i]);
cmd.ExecuteNonQuery();
}
tr.Commit();
}
}
catch
{
if (tr != null)
{
tr.Rollback();
}
//return false;
}
}
return (result > 0);
}
代码,这我的存储过程
ALTER PROCEDURE dbo.AddNewUserTypePageAccess
(@id_user_type int,
@id_page_access int)
as
insert into user_type_page_access(id_user_type, id_page_access)
values(@id_user_type, @id_page_access)
return
谢谢你的帮助.....
我做到了,但没有奏效。我希望执行存储过程n次,并且它们全都是交易。我发送2次参数n次 – nimaSadeghpour