执行存储过程的问题?
CREATE PROCEDURE User_leave
/*在职(离职)用户*/
@User_INTs varchar(500), /*被复职的员工ID集合*/
@User_leave bit /*在离职标志*/
AS
EXEC ('UPDATE Th_User SET User_leave =@User_leave WHERE User_INT IN (' + @User_INTs + ')')
GO
执行该存储过程的代码如下:
public bool User_leave(string User_INTs,int User_leave)
{
//调用存储过程 User_leave 参数为:用户登录ID和在职标志
string my_User_leave = "User_leave '"+User_INTs+"',"+User_leave+"";
if (ConnectDB(strDS,strDB,strUser,strPwd) == true)//myConnection.Open()
{
SqlCommand myCommand = new SqlCommand(my_User_leave,myConnection);
try
{
myCommand.ExecuteNonQuery();
myConnection.Close();
return true;
}//try
catch (SqlException myException)
{
SqlErrorCollection myErrors = myException.Errors;
for (int i=0; i < myErrors.Count; i++)
{
myErrorString = "Index #" + i + "\n" +
"Error: " + myErrors[i].ToString() + "\n";
}
return false;
}//catch
}
else
{
return false;
}
}
为什么上面的代码执行不了存储过程?