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 回答