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