でこれを説明するための最良の方法は、コードを使用することです:戻りビット値は、C#
byte roominspiration = 0;
query = "SELECT room_inspiration FROM Room WHERE room_id = @room_id); SELECT SCOPE_IDENTITY();";
using (sqlConnection1)
{
using (SqlCommand cmd = new SqlCommand(query, sqlConnection1))
{
cmd.Parameters.Add("@room_id", System.Data.SqlDbType.Int);
cmd.Parameters["@room_id"].Value = roomid;
sqlConnection1.Open();
if (cmd.ExecuteScalar() != null)
{
roominspiration = (byte)cmd.ExecuteScalar();
}
}
}
私がやろうとしているすべては、そのレコードのどのような値に「roominspiration」の値を更新していますデータベースの中にあります。データベース内のフィールドは、デフォルト値の0のビットデータ型です。常に正しく設定されているため、nullを返す問題はありません。
誰かが私が間違っていることを発見することができますか、または私がやっていることをするためのよりよい方法があるかどうか。私のC#スキルはそれほど良くはありませんが、私は学びたいと思っています!
ありがとうございました!
HTTPのようにそれを変換 です。 //msdn.microsoft.com/en-us/library/ms131092.aspx – Oded
ええと、この行にエラーがあります:roominspiration =((bool?)cmd.ExecuteScalar())。GetValueOrDefault(); 私は行をコメントアウトしても大丈夫ですが、コメントがない場合はエラーが発生します。 – Dan
実際、私の悪いことは完全に - クエリに構文エラーがあります!これであなたの助けてくれてありがとう - ブールの方法は今すぐうまく動作します。 – Dan