最好的方式來解釋這是代碼:返回位值
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 2012-01-13 19:27:53
嗯,這一行是錯誤的:roominspiration =((bool?)cmd.ExecuteScalar())。GetValueOrDefault(); 如果我將該行註釋掉,但沒有註釋則會出錯。 – Dan 2012-01-13 19:41:49
其實,我完全不好 - 查詢中有語法錯誤!感謝您的幫助 - 現在布爾方式很好地工作。 – Dan 2012-01-13 19:56:14