Sql参数集合

Jac*_*ack 13 .net c# sql parameters

我有5个参数,我想将它们发送到方法:

public static SqlCommand getCommand(string procedure, SqlParameter[] parameter)
{
   Sqlcommand cmd;
   return cmd
}
Run Code Online (Sandbox Code Playgroud)

我可以像这样一次发送这些参数吗?

SqlParameterCollection prm;
prm.Add(p1);
prm.Add(p2);
prm.Add(p3);
prm.Add(p4);
prm.Add(p5);
sqlcommand cmd = getCommand(prm);
Run Code Online (Sandbox Code Playgroud)

Dre*_*ejc 17

或者手动创建参数数组:

SqlParameter[] parameter = {
new SqlParameter(...), 
new SqlParameter(...), 
new SqlParameter(...)
};
Run Code Online (Sandbox Code Playgroud)

但我不认为你的方法有什么问题.它简单,易读,不易丢失.


Dam*_*ien 7

我不明白这有什么问题?你知道吗,如果这是.NET,你需要将参数附加到SqlCommand对象?

所以:

SqlCommand query = new SqlCommand(sqlString, Connection);
query.Parameters.AddWithValue(parameter,valueToPass);
Run Code Online (Sandbox Code Playgroud)

等等?

对不起,如果这不相关,不完全确定您的问题?你的方法并没有真正做任何事情,我带你遗漏了代码,只是为了提出问题而放入一个假人?你可以传递一个数组作为争论,所以你只需要将它填满?


Dav*_*cre 6

使用为灵感,此代码为我工作:

List<SqlCeParameter> parameters = new List<SqlCeParameter>();

parameters.Add(new SqlCeParameter("@Username", NewUsername));
parameters.Add(new SqlCeParameter("@Password", Password));

cmd.Parameters.AddRange(parameters.ToArray());
Run Code Online (Sandbox Code Playgroud)