【发布时间】:2012-12-12 09:02:08
【问题描述】:
我想往数据库表中插入数据:
myCommand.CommandText = "INSERT INTO Selectionner (IdPrestation,
IdPhrase, DegreUrgence,RisqueConcerne,rowguid,Cotation) " +
"VALUES ('" +new Guid(emp.IdPrestation) +
"', '" +new Guid(emp.IdPhrase)+ "', '" +
emp.DegreUrgence + "','" + emp.RisqueConcerne + "','" +
new Guid(emp.rowguid) + "','" + emp.Cotation + "')";
但这会返回错误:
Guid 应包含 32 位数字和 4 个破折号
(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)。
我该如何解决这个错误?
【问题讨论】:
-
不要连接 sql 字符串,而是使用参数来避免 sql 注入和解析错误。我们需要以下变量的值来回答您的问题:
emp.IdPrestation,emp.IdPhrase,emp.rowguid。您正在使用它们来初始化GUIDs,它必须包含 32 位数字和 4 个破折号(错误是不言自明的,不是吗?)。 -
您能否给出一些 emp.IdPrestation、emp.IdPhrase 和 emp.rowguid 的示例值?
标签: c# sql sql-server sql-server-2008