从字符串转换为唯一标识符时 ASP.NET 转换失败

Posted

技术标签:

【中文标题】从字符串转换为唯一标识符时 ASP.NET 转换失败【英文标题】:ASP.NET Conversion failed when converting from a character string to uniqueidentifier 【发布时间】:2010-02-19 00:33:36 【问题描述】:

我有一个表,它有一个主键 (UserID),它的类型是 UniqueIdentifier。 我试图在这个字段中插入一个值,但我一直收到错误。

我想获取当前用户的用户 ID 并将其插入到 user_Details 表中,但我一直收到此错误

从字符串转换为唯一标识符时转换失败

谁能帮帮我,谢谢

【问题讨论】:

【参考方案1】:

您已将参数放在字符串中,因此它不会被识别为参数。效果是您试图将字符串“@UserID”转换为 GUID,而不是使用参数中的值。

更改查询来自

"INSERT INTO  dbo.user_Details(UserId)VALUES ('@UserID')"

到:

"INSERT INTO  dbo.user_Details(UserId)VALUES (@UserID)"

【讨论】:

我的天啊...我在捆绑各种各样的东西...非常感谢老兄!! @c11ada:在您自己编写的代码中发现错误总是比较困难的。您倾向于按照您在编写时的想法来阅读它,而不是阅读实际存在的内容。 :) 像魅力一样工作,谢谢:D

以上是关于从字符串转换为唯一标识符时 ASP.NET 转换失败的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MVC .ASP NET 中将变量从字符串转换为 int [重复]

sQL数据库表的主键列设为标识,增量为1,下次插入数据时能不插入主键列吗

试图从 c# 字符串转换为 SQL 二进制文件

从 ASP.NET 调用 Oracle 存储过程时,无法将“System.Int32[]”类型的对象转换为“System.IConvertible”类型

在 C# ASP.net 中将文本框内容转换为 DateTime 格式时出错

从 ASP.NET 将网页转换为图像