我正在尝试在 Visual Studio 2010 中使用网格视图时更新访问数据库,但没有任何成功。让我试着解释一下我所拥有的。
我有一个带有“tblConfirmedworkhours”表的访问数据库,其中包含“dateworked”和“confirmed”字段。我可以使用编辑/更新链接在我的网页上显示过滤后的表格,但表格不会更新。
选项1:我希望(如果可能的话)不必单击编辑和更新按钮,只需编辑屏幕上的数据(我在想某种类似于连续表单的东西是MS Access,然后点击某种保存按钮((如果可能的话)将运行已经创建并存储在我的访问数据库“qryToHistory”中的附加查询。
选项 2:能够使用编辑/更新按钮来更改表中的数据。
这是我当前的代码:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="AccessDataSource1" Width="983px"
AutoGenerateDeleteButton="True" AutoGenerateEditButton="True">
<Columns>
<asp:BoundField DataField="WorkHourID" Visible="false"
HeaderText="Timesheet ID" />
<asp:BoundField DataField="EmpName" HeaderText="Employee"
SortExpression="EmpName" />
<asp:BoundField DataField="dateworked"
HeaderText="Date" SortExpression="dateworked" ApplyFormatInEditMode="True">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:CheckBoxField DataField="confirmed" HeaderText="Confirmed"
SortExpression="confirmed" Text="This is OK">
<ItemStyle HorizontalAlign="Center" />
</asp:CheckBoxField>
</Columns>
<EditRowStyle Width="500px" Wrap="True" />
<EmptyDataRowStyle Width="5000px" />
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/PayrollDirect.accdb"
SelectCommand="SELECT [WorkHourID], [EmpName], [dateworked], [confirmed] FROM [tblConfirmedworkhours] WHERE (([CompanyID] = ?) AND ([confirmed] = ?)) ORDER BY [dateworked]"
UpdateCommand="UPDATE tblConfirmedworkhours SET dateworked=dateworked, confirmed=confirmed where WorkHourID=WorkHourID">
<SelectParameters>
<asp:SessionParameter DefaultValue="0" Name="CompanyID" SessionField="UserID" Type="Int32" />
<asp:Parameter DefaultValue="false" Name="confirmed" Type="Boolean" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="dateworked"/>
<asp:Parameter Name="confirmed"/>
</UpdateParameters>
</asp:AccessDataSource>
选项 1 是否有可能,如果可能的话。
如果选项 1 不可行,我如何对选项 2 中更新表的问题进行排序。
我仍在学习 Visual Studio,因此非常感谢任何和所有帮助。