priductId="1,2,3,4,4,5,6";
public int Delete(string ProductId)
{
//cmdText = "delete from Product where ProductId in (" + ProductId + ")";
//res = sqlhelper.ExecuteNonQuery(cmdText, CommandType.Text);
//return res; string TempString = "("+ProductId+")";
cmdText = "delete from Product where ProductId in @TempString";
SqlParameter[] paras = new SqlParameter[] {
new SqlParameter("@TempString",TempString)
};
res = sqlhelper.ExecuteNonQuery(cmdText, CommandType.Text);
return res;
}
我怎样搞也搞不出来,请高人指点一下
public int Delete(string ProductId)
{
//cmdText = "delete from Product where ProductId in (" + ProductId + ")";
//res = sqlhelper.ExecuteNonQuery(cmdText, CommandType.Text);
//return res; string TempString = "("+ProductId+")";
cmdText = "delete from Product where ProductId in @TempString";
SqlParameter[] paras = new SqlParameter[] {
new SqlParameter("@TempString",TempString)
};
res = sqlhelper.ExecuteNonQuery(cmdText, CommandType.Text);
return res;
}
我怎样搞也搞不出来,请高人指点一下
SqlParameter param = new SqlParameter();
param.ParameterName = "@paramname";
param.Value = "";
1. 首先,在MSSQL数据库服务器上创建一个自定义的函数.
2. 在C#的Query中使用这个函数.CREATE FUNCTION [dbo].[f_split](@c varchar(2000),@split varchar(2))
returns @t TABLE(col varchar(20))
AS
begin
while(charindex(@split,@c)<>0)
begin
INSERT @t(col) VALUES (substring(@c,1,charindex(@split,@c)-1))
SET @c = stuff(@c,1,charindex(@split,@c),'')
end
INSERT @t(col) VALUES (@c)
RETURN
end
GO
string TempString = "("+ProductId+")";cmdText = "delete from Product where ProductId in (select * from dbo.f_split(@TempString,’,'))";SqlParameter[] paras = new SqlParameter[] {
new SqlParameter("@TempString",TempString)
};
这个一句, string TempString = "("+ProductId+")";
不用拼接,直接使用 string TempString = "1,2,3,4,4,5,6"; 即可.
string strSql = "exec(’select * from Person.Address where AddressID in (’+@add+’)’)";
SqlParameter[] Parameters = new SqlParameter[1];
Parameters[0] = new SqlParameter("@add", "343,372,11481,11533,11535,11755,11884,12092,12093,12143");