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'配列の使い方のサンプルコードがまだ表示されていません(1つ以上のパラメータにnullオブジェクトが含まれている可能性があります)。 'AddParameter'メソッドのコンテンツには何も問題はないようですが、どのように使用しているのかは間違いです。 –
解決策を見つけました。他のクラスでは、addproducts()関数を次のように使用していました。 –