public static SqlParameter AddParameter(string parameterName,object value,SqlDbType DbType,int size)
{
SqlParameter param = new SqlParameter();
param.ParameterName = parameterName;
param.Value = value ?? (object)DBNull.Value;
param.SqlDbType = DbType;
param.Size = size;
param.Direction = ParameterDirection.Input;
return param;
}
public static DataTable ExecuteDTByProcedure(string ProcedureName ,SqlParameter[] Params)
{
SqlConnection con = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = ProcedureName;
cmd.Parameters.AddRange(Params);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dtable = new DataTable();
try
{
sda.Fill(dtable);
}
catch (Exception ex)
{
}
finally
{
sda.Dispose();
cmd.Parameters.Clear();
cmd.Dispose();
con.Dispose();
}
return dtable;
}
}
}其餘代碼運行良好,即使它正在運行,但在我的班級,我得到了這個錯誤。
Error:Line 43: cmd.Connection = con; Line 44: cmd.CommandText = ProcedureName; Line 45: cmd.Parameters.AddRange(Params); Line 46: Line 47:
的SqlParameterCollection僅接受非空的SqlParameter類型對象。 參數名稱:值
嘛錯誤是告訴你什麼是錯的...你顯然不提供的參數有效實例...你甚至嘗試調試呢? –
你仍然沒有展示如何使用'SqlParameter'數組的示例代碼(可能有一個或多個參數包含空對象)。 「AddParameter」方法內容似乎沒有錯,但您如何使用它可能會引發錯誤。 –
我找到了解決方案,在我使用addproducts()函數的其他類中 –