用SqlDataSource连接Access数据库实现增删查改功能

it2026-05-22  2

web.config配置文件: 

<add name="ConnectionString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|数据库.accdb" providerName="System.Data.OleDb" />

数据库要放在项目的App_Data文件夹下,方便项目整体迁移。使用此连接的方法:

OleDbConnection conn = new OleDbConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

 页面中新建SqlDataSource,并添加插入、修改和删除的代码:

SqlDatasource的作用:连接到 ADO.NET 支持的任何 SQL 数据库,如 Microsoft SQL Server、Oracle 或 OLEDB。

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" DeleteCommand="DELETE FROM [联系人] WHERE [ID] = ?" InsertCommand="INSERT INTO [联系人] ([姓名], [性别], [电话]) VALUES (?, ?, ?)" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="SELECT * FROM [联系人]" UpdateCommand="UPDATE [联系人] SET [姓名] = ?, [性别] = ?, [电话] = ? WHERE [ID] = ?"> <DeleteParameters> <asp:Parameter Name="ID" Type="Int32" /> </DeleteParameters> <InsertParameters> <asp:Parameter Name="ID" Type="Int32" /> <asp:Parameter Name="姓名" Type="String" /> <asp:Parameter Name="性别" Type="String" /> <asp:Parameter Name="电话" Type="String" /> </InsertParameters> <UpdateParameters> <asp:Parameter Name="姓名Update" Type="String" /> <asp:Parameter Name="性别Update" Type="String" /> <asp:Parameter Name="电话Update" Type="String" /> <asp:Parameter Name="ID" Type="Int32" /> </UpdateParameters> </asp:SqlDataSource>

 再添加一GridView1

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="SqlDataSource1" onrowcancelingedit="GridView1_RowCancelingEdit" onrowdeleting="GridView1_RowDeleting" onrowupdating="GridView1_RowUpdating"> <Columns> <asp:CommandField ShowEditButton="True" ShowSelectButton="True" ShowDeleteButton="True" HeaderText="编辑"/> <asp:BoundField DataField="姓名" HeaderText="姓名" SortExpression="姓名" /> <asp:BoundField DataField="性别" HeaderText="性别" SortExpression="性别" /> <asp:BoundField DataField="电话" HeaderText="电话" SortExpression="电话" /> </Columns> </asp:GridView>

 添加一个增加数据的按钮

<asp:Button ID="Button2" runat="server" οnclick="Button2_Click" Text="添加数据" />

 按钮的方法如下:

OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); OleDbCommand cmd = new OleDbCommand(SqlDataSource1.InsertCommand, con); cmd.Parameters.Add("", OleDbType.VarChar).Value = TextBox1.Text.Trim(); cmd.Parameters.Add("", OleDbType.VarChar).Value = TextBox2.Text.Trim(); cmd.Parameters.Add("", OleDbType.VarChar).Value = TextBox3.Text.Trim(); con.Open(); cmd.ExecuteNonQuery(); Response.Write(con.State.ToString()); con.Close(); GridView1.DataBind();

修改的方法如下:

int id =Convert.ToInt32( GridView1.DataKeys[e.RowIndex].Value); OleDbConnection conn = new OleDbConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); OleDbCommand cmd = new OleDbCommand(SqlDataSource1.UpdateCommand, conn); string 姓名 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.Trim(); string 性别 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.Trim(); string 电话 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.Trim(); cmd.Parameters.Add("", OleDbType.VarChar).Value = 姓名; cmd.Parameters.Add("", OleDbType.VarChar).Value = 性别; cmd.Parameters.Add("", OleDbType.VarChar).Value = 电话; cmd.Parameters.Add("", OleDbType.Integer).Value = id; conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); GridView1.DataBind();

  删除的方法如下:

int id = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value); OleDbConnection conn = new OleDbConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); OleDbCommand cmd = new OleDbCommand(SqlDataSource1.DeleteCommand, conn); cmd.Parameters.Add("", OleDbType.Integer).Value = id; conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); GridView1.DataBind();

 为删除按钮添加确认 

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { //如果是绑定数据行 if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) { ((LinkButton)e.Row.Cells[4].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?')"); } } }

 

 

 

 

转载于:https://www.cnblogs.com/tiger4066/p/4685084.html

相关资源:数据结构—成绩单生成器
最新回复(0)