2011-05-29 72 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