a の値を文字列で初期化しようとしSqlParameter
ています。しかし、なぜ値が得られないのですか?
これは私が試したものです:
int loadChart(string status)
{
connect();
SqlParameter[] parameters ={
new SqlParameter("status", SqlDbType.VarChar, 10),
new SqlParameter("count", SqlDbType.Int, 4)
};
parameters[0].Value = status;
parameters[1].Direction = ParameterDirection.Output;
SqlCommand cmd = new SqlCommand("sp_Arsenic_getSourceStatusCount", objConnection);
foreach (SqlParameter param in parameters)
{
cmd.Parameters.Add(param);
}
cmd.ExecuteNonQuery();
disConnect();
int count;
count =(int) parameters[1].Value;
return count;
}
}
ストアド プロシージャ:
alter procedure sp_Arsenic_getSourceStatusCount
@status varchar(10),
@count int
as
select @count=COUNT(status) from Arsenic_WaterSource where status=@status
return 1
status
ブレークポイントを挿入すると、文字列変数がその値を「安全」に取得することを発見しましたが、parameters[0].Value = (string) status;
行で. この問題を解決するには?parameters[0].value
null