【发布时间】:2017-08-24 21:55:54
【问题描述】:
我对 ASP.NET 比较陌生,我正在按照教程创建登录页面。但是,当从nchar(10) 切换到uniqueidentifier 甚至将字符限制增加到50 时,我无法更新表格,也无法保存它。这是我在下面收到的错误,谁能帮我解决这个问题?
CREATE TABLE [dbo].[Table]
(
[Id] UNIQUEIDENTIFIER NULL,
[Username] NCHAR (20) NULL,
[Password] NCHAR (20) NULL,
[Email] NCHAR (50) NULL,
[Country] NCHAR (20) NULL
);
正在改变 [dbo].[Table]...
错误:
SQL72014:.Net SqlClient 数据提供者:
消息 8169,第 16 级,状态 2,第 1 行
从字符串转换为唯一标识符时转换失败。SQL72045:脚本执行错误。执行的脚本:
ALTER TABLE [dbo].[Table] ALTER COLUMN [Id] UNIQUEIDENTIFIER NULL;执行批处理时发生错误。
【问题讨论】:
-
您的数据类型不匹配。在 C# 中为与您的 sql 中的 Id 对应的属性使用 Guid 数据类型
-
调试时,您尝试更新的 ID 列的值是多少?
-
尝试将 Guid.NewGuid() 传递给您的 Id,但我不建议这样做,因为您可以从 Sql 更改 Id 的属性。将 RowGuid 属性设置为 true.. 然后在创建时不必从 ASP.NET 传递 ID
标签: asp.net sql-server