【发布时间】:2013-02-12 16:04:37
【问题描述】:
请注意,目前我正在尝试通过 C# ADO.NET 执行以下 INSERT 命令,但收到上述错误:
INSERT INTO tblStampAnnotation ([StampAnnotationID],[Title],[Subject],[Content],[Author],[Date],[LinkedDocumentsID],[PageNumber],[Colour]) VALUES('{6b15a625-b967-4d3b-9ee3-34f64633f469}','test title','test subject','test content','test author',GETDATE(),'{475f30a1-142f-4fd5-b783-598d838559de}',1,Null)
在这里找到一个检查GUID是否正确的小程序:http://www.devx.com/vb2themax/Tip/18293
当我运行程序时,它表明 {6b15a625-b967-4d3b-9ee3-34f64633f469} 和 {475f30a1-142f-4fd5-b783-598d838559de} 都是 GUID。有没有人有任何建议来确定我收到此错误的原因? TIA。
更新:
谢谢你的建议,鲍勃;但是,当我使用以下命令时,我仍然得到同样的错误:
INSERT INTO tblStampAnnotation ([StampAnnotationID],[Title],[Subject],[Content],[Author],[Date],[LinkedDocumentsID],[PageNumber],[Colour]) VALUES('6b15a625-b967-4d3b-9ee3-34f64633f469','test title','test subject','test content','test author',GETDATE(),'475f30a1-142f-4fd5-b783-598d838559de',1,Null)
更新 2: 请注意,我使用的是 SQL Server 2008。
更新 3: 这越来越奇怪了。当我使用 NEWID() 时,我仍然收到同样的错误:
INSERT INTO tblStampAnnotation ([StampAnnotationID],[Title],[Subject],[Content],[Author],[Date],[LinkedDocumentsID],[PageNumber],[Colour]) VALUES(NEWID(),'test title','test subject','test content','test author',GETDATE(),NEWID(),1,Null)
【问题讨论】:
-
我已成功将您的字符串插入到 SQL Server 2012 的表中。不幸的是,我无法在 SQL Server 2008 上进行测试。您可以尝试在将字符串插入表之前对其进行转换吗?您也可以尝试使用 NEWID() 代替字符串吗?
-
我能够在 2008 年进行测试,它插入得很好。
-
谢谢你 gotqn——我按照你的建议尝试使用 NEWID(),但仍然收到错误。我错过了什么明显的东西吗?
标签: c# sql sql-server-2008 tsql ado.net