C# INSERT语句冲突
我的项目在WinC窗体2010中运行,并使用SQLServerExpress和LINQtoSQL。我的项目给我例外: INSERT语句与检查约束CK_BarCode_Num冲突。冲突发生在数据库驻车、表dbo.TBL_Cards、列“BarCode_Num”中 当我运行此查询时:C# INSERT语句冲突,c#,sql,database,winforms,linq-to-sql,C#,Sql,Database,Winforms,Linq To Sql,我的项目在WinC窗体2010中运行,并使用SQLServerExpress和LINQtoSQL。我的项目给我例外: INSERT语句与检查约束CK_BarCode_Num冲突。冲突发生在数据库驻车、表dbo.TBL_Cards、列“BarCode_Num”中 当我运行此查询时: SELECT name, definition FROM sys.check_constraints WHERE name = 'CK_BarCode_Num'" 输出显示了以下各项的定义: Name: CK_Bar
SELECT name, definition
FROM sys.check_constraints
WHERE name = 'CK_BarCode_Num'"
输出显示了以下各项的定义:
Name: CK_BarCode_Num
Definition: (datalength([BarCode_Num])=(13))"
但在数据库中的TBL_卡中,条形码的类型是varchar100,在代码隐藏中,我为条形码的类型声明int
我不知道在哪里设置datalength[BarCode_Num]=13?数据类型与您定义的任何检查约束是分开的。可以按照以下说明修改检查约束:
否则,您可以在自己的代码中执行数据验证-Linq to SQL不会在实体上强制执行该验证,但当您尝试执行违反约束的插入时,将引发SqlException。数据类型与您定义的任何检查约束是分开的。可以按照以下说明修改检查约束:
否则,您可以在自己的代码中执行数据验证-Linq to SQL不会在实体上强制执行数据验证,但当您尝试执行违反约束的插入时,将抛出SqlException。检查约束表示,插入条形码的长度必须正好为13个字符 如果您试图插入长度不超过13个字符的内容,我建议您查阅数据库的文档,或者与设置它的人交谈,以了解应用此约束的原因 我们无法为您回答这个问题,我不建议您在不了解check约束存在的原因的情况下更改它 返回用于表示任何表达式的字节数
对于varchar,使用的字节数与字符数对应1-1。对于nvarchar,您需要除以2。检查约束规定,插入条形码的长度必须正好为13个字符 如果您试图插入长度不超过13个字符的内容,我建议您查阅数据库的文档,或者与设置它的人交谈,以了解应用此约束的原因 我们无法为您回答这个问题,我不建议您在不了解check约束存在的原因的情况下更改它 返回用于表示任何表达式的字节数
对于varchar,使用的字节数与字符数对应1-1。对于nvarchar,您需要除以2。代码中的条形码编号应该是字符串。我确实在代码中设置了此项,但得到了例外:INSERT语句与CHECK约束CK\U条形码编号冲突。冲突发生在数据库驻车、表dbo.TBL\U Cards、列“条形码编号”中。该语句已终止。代码中的条形码\u Num应为字符串我在代码中设置了此项,但遇到异常:INSERT语句与检查约束CK\u条形码\u Num冲突。冲突发生在数据库驻车、表dbo.TBL\u Cards、列“条形码\u Num”中。声明已终止。!!!!真==真。。。只是说,你可能不需要太多的感叹号。!!!!真==真。。。只是说,你可能不需要太多的感叹号。