Gop*_*mal 3 c# asp.net sql-server-2008
我的数据库中有一个表,其中2列的uniqueidentifier不是null类型。我正在尝试从asp.net c#在该表上插入一行,如下所示:
sqlCmd.CommandText = string.Format("Insert Into Member(MemberNo,MemberEmpId,...) values({0},{1},... )", MemNo, MemEmpNo, ...);
Run Code Online (Sandbox Code Playgroud)
它引发了以下异常,
“浮点值'24e46222'超出计算机表示范围(8个字节)。'a8c'附近的语法不正确。浮点值'6664e7925'超出计算机表示范围(8字节)。”
我用谷歌搜索了这个错误,并得到了参考,我尝试了一下,但是仍然给出了同样的错误。有人可以帮我解决这个问题。除了这个,我什么也找不到。
提前致谢!
您在Guid上缺少引号,这就是为什么您得到此错误。您实际上应该使用参数化查询来避免sql注入和诸如此类的问题(例如,缺少引号)
应该(但不建议)
values({0},'{1}',... ) //<-- see the added quotes around the Guid part
Run Code Online (Sandbox Code Playgroud)
理想情况下,您应该使用参数化
values(@id,@guid,... ) //<--
Run Code Online (Sandbox Code Playgroud)
并设置值
cmd.Parameters.AddWithValue("@id", someValueHere);
cmd.Parameters.AddWithValue("@guid", someGuidValueHere");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3830 次 |
最近记录: |