1
我想更新我的訪問數據庫中的值,但它在某些情況下不起作用。asp.net訪問數據庫沒有更新
代碼:
<form id="form1" runat="server">
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/App_Data/Database1.mdb"
DeleteCommand="UPDATE DT_Person SET Deleted = NOW() WHERE (Person_Ref = ?)"
InsertCommand="INSERT INTO [DT_Person] ([Person_Ref], [Created], [Updated], [Deleted], [Person_Name], [Person_No]) VALUES (?, ?, ?, ?, ?, ?)"
OldValuesParameterFormatString="original_{0}"
SelectCommand="SELECT * FROM [DT_Person]"
UpdateCommand="UPDATE DT_Person SET Updated = NOW(), Person_Name = ?, Person_No = ? WHERE (Person_Ref = ?)">
<DeleteParameters>
<asp:Parameter Name="original_Person_Ref" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="Created" Type="DateTime" />
<asp:Parameter Name="Updated" Type="DateTime" />
<asp:Parameter Name="Deleted" Type="DateTime" />
<asp:Parameter Name="Person_Name" Type="String" />
<asp:Parameter Name="Person_No" Type="String" />
<asp:Parameter Name="original_Person_Ref" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="Person_Ref" Type="Int32" />
<asp:Parameter Name="Created" Type="DateTime" />
<asp:Parameter Name="Updated" Type="DateTime" />
<asp:Parameter Name="Deleted" Type="DateTime" />
<asp:Parameter Name="Person_Name" Type="String" />
<asp:Parameter Name="Person_No" Type="String" />
</InsertParameters>
</asp:AccessDataSource>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" BackColor="White"
BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3"
DataKeyNames="Person_Ref" DataSourceID="AccessDataSource1">
<RowStyle ForeColor="#000066" />
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True"
ShowSelectButton="True" />
<asp:BoundField DataField="Person_Ref" HeaderText="Person_Ref"
InsertVisible="False" ReadOnly="True" SortExpression="Person_Ref" />
<asp:BoundField DataField="Created" HeaderText="Created"
SortExpression="Created" />
<asp:BoundField DataField="Updated" HeaderText="Updated"
SortExpression="Updated" />
<asp:BoundField DataField="Deleted" HeaderText="Deleted"
SortExpression="Deleted" />
<asp:BoundField DataField="Person_Name" HeaderText="Person_Name"
SortExpression="Person_Name" />
<asp:BoundField DataField="Person_No" HeaderText="Person_No"
SortExpression="Person_No" />
</Columns>
正如你所看到的,delete命令
(DeleteCommand="UPDATE DT_Person SET Deleted = NOW() WHERE (Person_Ref = ?)")
是一個真正的更新語句,並能正常工作。但是,實際的更新聲明不適用於網頁。奇怪的是,如果你在'查詢生成器'中測試查詢,它工作正常。
真的需要一些幫助。
TIA
P.S.我使用Visual Studio 2008和每次使用數據源構建器
我剛剛測試過,它適用於我。你收到什麼錯誤信息?你有沒有在Access文件和文件夾上的權限? – Fionnuala 2013-02-10 14:49:30