這裏是我的方法:如何將一個數字添加到Sqlcommand.Parameters?
public void EjecutarGuardar(string ProcedimientoAlmacenado, object[] Parametros)
{
SqlConnection Connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
SqlCommand Command = Connection.CreateCommand();
Command.CommandText = ProcedimientoAlmacenado;
Command.CommandType = CommandType.StoredProcedure;
foreach (object X in Parametros)
{
Command.Parameters.Add(X);
}
Connection.Open();
Command.ExecuteNonQuery();
Connection.Close();
Connection.Dispose();
}
說我增加了一個int到我的對象數組PARAMETROS,當它到達foreach語句我得到一個錯誤:
The SqlParameterCollection only accepts non-null SqlParameter type objects, not Int32 objects.
所以,我怎麼能加載所有的我的參數在這個類之外,然後將它們全部放入一個通用數組中,並將它傳遞給這個方法來做它的魔力。任何幫助?
編輯:朋友發給我這個代碼,它會工作嗎?我不明白它在做什麼。 :S
protected void CargarParametros(SqlCommand Com, System.Object[] Args)
{
for (int i = 1; i < Com.Parameters.Count; i++)
{
SqlParameter P = (SqlParameter)Com.Parameters[i];
if (i <= Args.Length)
P.Value = Args[i - 1];
else
P.Value = null;
}
}
見我的其他問題http://stackoverflow.com/questions/1355643/trouble-using-my-stored-procedure – 2009-08-31 03:43:10