Gridview - 更新异常

时间:2012-02-15 11:25:24

标签: ms-access gridview

我正在尝试在Gridview(ASP.net)中执行UPDATE操作。我创建了一个AccessDataSource并包含了所有查询。 删除,选择查询效果不错但 UPDATE

我在“更新语句”中收到错误“语法错误”。我的问题是

UPDATE RateCenters SET RateCenterName = @RateCenterName, 
State/Province = @State/Province, Quantity/Threshold = @Quantity/Threshold 
WHERE RateCenterID = @RateCenterID

我从网站上意识到,如果查询中包含特殊字符,例如“/”,则应使用“[]”

所以我已将查询更改为

UPDATE RateCenters SET [RateCenterName] = [RateCenterName], [State/Province] = [State/Province], [Quantity/Threshold] = [Quantity/Threshold] WHERE RateCenterID = RateCenterID.

现在我没有在UPDATE操作上收到任何错误,但数据没有得到更新

这是我的HTML代码

 <asp:AccessDataSource ID="AccessDataSource1" runat="server" 
        DataFile="~/App_Data/db1.mdb" SelectCommand="SELECT * FROM RateCenters" 
            DeleteCommand="DELETE FROM RateCenters WHERE RateCenterID = @RateCenterID" 
            InsertCommand="INSERT INTO RateCenters ([RateCenterID], [RateCenterName], [State/Province], [Quantity/Threshold]) VALUES ([RateCenterID], [RateCenterName], [State/Province], [Quantity/Threshold])" 

            UpdateCommand="UPDATE RateCenters SET RateCenterName = @RateCenterName, State[/]Province = @State[/]Province, Quantity[/]Threshold = Quantity[/]Threshold WHERE RateCenterID = @RateCenterID">
    </asp:AccessDataSource>

请让我知道这个问题

由于

阿琼

2 个答案:

答案 0 :(得分:1)

快速写下

UpdateCommand =“UPDATE RateCenters SET RateCenterName = @RateCenterName,[State / Province] = @State,[Quantity / Threshold] = @Quantity WHERE RateCenterID = @RateCenterID”&gt;

答案 1 :(得分:0)

尽量不要在列名中使用/ ...你可以使用[]来阻止你的列名......

UPDATE RateCenters SET [RateCenterName] = [RateCenterName], [State/Province] = [State/Province], [Quantity/Threshold] = [Quantity/Threshold] WHERE RateCenterID = RateCenterID.

它实际上已经更新了但是有相同的数据,这就是为什么它不可见...... =)

e.g

[Quantity/Threshold] = [Quantity/Threshold]

这只会将其重新分配给自己=)