0
cmd.CommandText = "update  dbo.diagnosis SET id=" + SetValueForText + "ss=" + sh;

whereshと columnssは bool データ型で、idandSetValueForTextは int データ型です。例外は無効な構文の近くssです。

4

1 に答える 1

2

最初の値と 2 番目の列名の間にカンマがありません。また、SQL インジェクション攻撃から保護するために、パラメーター化されたクエリを使用する必要があります。

cmd.CommantText =
    "update dbo.diagnosis set id=@id, ss=@ss";

cmd.Parameters.Add("@id", SetValueForText);
cmd.Parameters.Add("@ss", sh);

また、値をフィルタリングしていないため、この update ステートメントはテーブル内のすべての行を更新することに注意してください。

于 2013-03-28T14:14:30.143 に答える