SQL查询:语法错误

时间:2012-07-13 11:45:22

标签: c# sql syntax

我收到错误

  

关键字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 个答案:

答案 0 :(得分: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

答案 1 :(得分:3)

我认为你写错了查询。 更新如下给出的查询:

INSERT INTO [ASSETS_CC] ([DEPT], [CC], [PER_CENT]) Values ( @Dept, @CC, @PerCent) 

答案 2 :(得分:2)

你好。

SqlCommand scInsertCostSpilt = new SqlCommand("INSERT ASSETS_CC (DEPT, CC, PER_CENT) Values (@AssetNumber, @Dept, @CC, @PerCent)" , DataAccess.AssetConnection);

答案 3 :(得分:0)

您正在使用where语句中无法使用的Insert子句。

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