5

エラーが発生します

キーワードWHEREの近くの構文が正しくありません

次のSQLステートメントを使用します。

SqlCommand scInsertCostSpilt = new SqlCommand("INSERT INTO [ASSETS_CC] ([DEPT], [CC], [PER_CENT]) WHERE [ASSET_NO] = @AssetNumber)" +
"Values (@AssetNumber, @Dept, @CC, @PerCent)" , DataAccess.AssetConnection);

どうしたの?

4

4 に答える 4

7

SQL の挿入ステートメントにはWHERE句がありません (レコードがまだ存在しないため、これは理にかなっています)。新しいレコードを挿入する場合は、ID と他のすべての値を組み合わせますUPDATE。既存のレコードを変更する場合は、ステートメントを使用します。

INSERT INTO [ASSETS_CC] ([ASSET_NO], [DEPT], [CC], [PER_CENT]) 
VALUES (@AssetNumber, @Dept, @CC, @PerCent)

また

UPDATE [ASSETS_CC]
SET [DEPT] =  @Dept, [CC] = @CC, [PER_CENT] = @PerCent
WHERE [ASSET_NO] = @AssetNumber
于 2012-07-13T11:47:24.117 に答える
3

間違ったクエリを書いたと思います。以下のクエリのように更新します。

INSERT INTO [ASSETS_CC] ([DEPT], [CC], [PER_CENT]) Values ( @Dept, @CC, @PerCent) 
于 2012-07-13T11:47:08.007 に答える
2

どうぞ。

SqlCommand scInsertCostSpilt = new SqlCommand("INSERT ASSETS_CC (DEPT, CC, PER_CENT) Values (@AssetNumber, @Dept, @CC, @PerCent)" , DataAccess.AssetConnection);
于 2012-07-13T11:50:04.627 に答える
0

ステートメントwhereで使用できない句を使用しています。Insert

SqlCommand scInsertCostSpilt = new SqlCommand("INSERT INTO ASSETS_CC (DEPT, CC, PER_CENT) Values (@AssetNumber, @Dept, @CC, @PerCent)" , DataAccess.AssetConnection);
于 2012-07-13T12:00:50.577 に答える