【问题标题】:Visual Studio SQL Server table not updatingVisual Studio SQL Server 表未更新
【发布时间】: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


【解决方案1】:

试试

(
[Id]   DEFAULT NEWSEQUENTIALID()
 ...
)

【讨论】:

  • 您能解释一下NEWSEQUENTIALID 将如何解决这个问题吗?
猜你喜欢
  • 1970-01-01
  • 2018-09-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-05
  • 2010-12-26
  • 1970-01-01
相关资源
最近更新 更多