2011-05-29 66 views
-4
string insertCommand = "INSERT INTO Users (UserID) VALUES ('"+UsersIdentityToinsert+"')"; //Exception: Cannot insert the value NULL into column 'Reputation', table 'model.dbo.Users'; column does not allow nulls. INSERT fails. 

該語句已被終止。編寫簡單的SELECT查詢時出現問題

當我用sqlCommand.ExecuteNonQuery();執行此命令。它說我不能將空值放入列中。但在調試中,我看到UsersIdentityToinsert有一個Guid值

+7

1.這沒有任何意義,你的散文與代碼不符。發佈您的問題的完整重新創建(但不超過)。 2.不要使用字符串連接來構建SQL,它會導致SQL注入攻擊。 – Richard 2011-05-29 10:55:38

+0

你初始化了'checkExistingUserID'嗎? – 2011-05-29 10:57:26

+0

好吧,不,我剛剛餵了一些值 – Matrix001 2011-05-29 11:11:39

回答

1

爲什麼reader是空的?

它不應該是。它可能有.HasRows == false,但應該有一個對象。

爲什麼你認爲它永遠是空的?


好吧,帶頭的新標題。

您必須在SQL文本中刪除@,因爲它表示@UserID作爲參數而不是列。我也懷疑SELECT部分​​。試試:

"SELECT UserID FROM Users WHERE UserID= '" + UsersIDentity + "'" 
+0

我刪除了try {},我看到一個新的異常:見上面 – Matrix001 2011-05-29 11:21:49

+0

現在我得到這個..在同一個地方:錯誤的語法'fd6d35d'附近。 – Matrix001 2011-05-29 11:27:24

+0

可能你需要引用值...編輯的值。 – 2011-05-29 11:29:21