Here is a sample gridview and detailsview with editing capability with Access 2007 data. The key is to connect to the Access 2007 database table.
Connection string in your webconfig:
<connectionStrings>
<
add name="Access2007ConnectionString" connectionString="Dsn=MS Access Database;dbq=|DataDirectory|\Database1.accdb;" providerName="System.Data.Odbc" />
</
connectionStrings>
FYI: You can try another way to connect to Access 2007 in your code if you choose to:
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath(".") + "\\App_Data\\Database1.accdb;" ;
Here is the sample code:
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" DataKeyNames="CartridgeName"> <Columns> <asp:CommandField ShowEditButton="True" /> <asp:BoundField DataField="CartridgeName" HeaderText="CartridgeName" ReadOnly="True" SortExpression="CartridgeName" /> <asp:BoundField DataField="UnitsInstock" HeaderText="UnitsInstock" SortExpression="UnitsInstock" /> <asp:BoundField DataField="UnitsNeeded" HeaderText="UnitsNeeded" SortExpression="UnitsNeeded" /> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Access2007ConnectionString %>" DeleteCommand="DELETE FROM [Cartridge] WHERE ([CartridgeName] = ?)" InsertCommand="INSERT INTO [Cartridge] ([CartridgeName], [UnitsInstock], [UnitsNeeded]) VALUES (?, ?, ?)" ProviderName="<%$ ConnectionStrings:Access2007ConnectionString.ProviderName %>" SelectCommand="SELECT [CartridgeName], [UnitsInstock], [UnitsNeeded] FROM [Cartridge]" UpdateCommand="UPDATE [Cartridge] SET [UnitsInstock] = ?, [UnitsNeeded] = ? WHERE ([CartridgeName] = ?)"> <DeleteParameters> <asp:Parameter Name="CartridgeName" Type="String" /> </DeleteParameters> <UpdateParameters> <asp:Parameter Name="UnitsInstock" Type="String" /> <asp:Parameter Name="UnitsNeeded" Type="String" /> <asp:Parameter Name="CartridgeName" Type="String" /> </UpdateParameters> <InsertParameters> <asp:Parameter Name="CartridgeName" Type="String" /> <asp:Parameter Name="UnitsInstock" Type="String" /> <asp:Parameter Name="UnitsNeeded" Type="String" /> </InsertParameters> </asp:SqlDataSource> <asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px" AllowPaging="True" DataSourceID="SqlDataSource1"> <Fields> <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ShowInsertButton="True" /> </Fields> </asp:DetailsView>
This is to answer a question here:
http://forums.asp.net/t/1347791.aspx
