使用ASP.NET GridView控件简单操作数据库数据 (asp.net gridview 数据库)
ASP.NET是微软公司推出的一种Web应用程序开发框架,它可以让开发人员快速地创建动态网页。而在大多数Web应用程序中,数据库是必不可少的一部分。ASP.NET提供了很多处理数据库的方式,其中GridView控件是一种非常常用的工具,它可以让我们轻松地将数据库中的数据显示在网页上,并可以方便地进行增删改查操作。
本文将介绍如何使用ASP.NET GridView控件实现简单的数据库数据操作,包括数据绑定、数据插入、数据删除和数据更新。
一、数据绑定
在ASP.NET中,GridView控件最基本的功能是将数据库中的数据绑定到网页上。下面是一个简单的示例,展示了如何使用GridView控件绑定Northwind数据库中的Customers表数据。
1.创建一个新的ASP.NET Web应用程序。
2.右键单击项目,在“Add”菜单中选择“New Item”选项。
3.在“Add New Item”对话框中选择“Web Form”,并将其命名为“Default.aspx”。
4.在“Default.aspx”页面中,添加一个GridView控件。
“`aspx
AutoGenerateColumns=”False”>
HeaderText=”Customer ID” />
HeaderText=”Company Name” />
HeaderText=”Contact Name” />
HeaderText=”Contact Title” />
“`
5.打开“Default.aspx.cs”页面,添加以下代码,将GridView控件与数据库连接并绑定数据。
“`c#
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// 配置数据库连接字符串
string connectionString = @”Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Northwind;Integrated Security=True”;
// 创建连接并打开
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
// 创建 SELECT 查询
string query = “SELECT CustomerID, CompanyName, ContactName, ContactTitle FROM Customers”;
// 创建数据适配器并填充数据集
SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
// 关闭连接
connection.Close();
// 绑定数据到 GridView 控件
GridView1.DataSource = dataTable;
GridView1.DataBind();
}
}
“`
6.运行项目,将在浏览器中看到绑定的数据。此时,你可以轻松地在GridView控件中列出数据库中的数据。
二、数据插入
在ASP.NET中,GridView控件还能够轻松地实现数据插入。下面是一个简单的示例,展示了如何使用GridView控件将数据插入到Northwind数据库中的Customers表中。
1.在“Default.aspx”页面中,添加以下代码,为GridView控件添加一个TemplateField。
“`aspx
AutoGenerateColumns=”False” OnRowCommand=”GridView1_RowCommand”>
HeaderText=”Customer ID” ReadOnly=”True” />
“`
2.在“Default.aspx.cs”页面中,添加以下代码,处理GridView控件中的“Add”按钮单击事件。
“`c#
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == “Add”)
{
// 读取 TextBox 控件的值
string companyName = ((TextBox)GridView1.FooterRow.FindControl(“txtCompanyName”)).Text;
string contactName = ((TextBox)GridView1.FooterRow.FindControl(“txtContactName”)).Text;
string contactTitle = ((TextBox)GridView1.FooterRow.FindControl(“txtContactTitle”)).Text;
// 配置数据库连接字符串
string connectionString = @”Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Northwind;Integrated Security=True”;
// 创建连接并打开
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
// 创建 INSERT 查询
string query = “INSERT INTO Customers (CompanyName, ContactName, ContactTitle) VALUES (@CompanyName, @ContactName, @ContactTitle)”;
// 创建命令对象并添加参数
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue(“@CompanyName”, companyName);
command.Parameters.AddWithValue(“@ContactName”, contactName);
command.Parameters.AddWithValue(“@ContactTitle”, contactTitle);
// 执行命令并关闭连接
command.ExecuteNonQuery();
connection.Close();
// 重新绑定 GridView 数据
GridView1.DataBind();
}
}
“`
3.运行项目,将在GridView控件中看到一个“Add”按钮。单击该按钮,即可将数据插入到数据库中的Customers表中。
三、数据删除
在ASP.NET中,GridView控件还能够轻松地实现数据删除。下面是一个示例,展示了如何使用GridView控件删除Northwind数据库中的Customers表中的数据。
1.在“Default.aspx”页面中,添加以下代码,为GridView控件添加一个CommandField。
“`aspx
AutoGenerateColumns=”False” OnRowDeleting=”GridView1_RowDeleting”>
HeaderText=”Customer ID” ReadOnly=”True” />
HeaderText=”Company Name” />
HeaderText=”Contact Name” />
HeaderText=”Contact Title” />
“`
2.在“Default.aspx.cs”页面中,添加以下代码,处理GridView控件中的删除操作。
“`c#
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
// 读取 CustomerID 值
string customerID = GridView1.DataKeys[e.RowIndex].Value.ToString();
// 配置数据库连接字符串
string connectionString = @”Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Northwind;Integrated Security=True”;
// 创建连接并打开
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
// 创建 DELETE 查询
string query = “DELETE FROM Customers WHERE CustomerID = @CustomerID”;
// 创建命令对象并添加参数
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue(“@CustomerID”, customerID);
// 执行命令并关闭连接
command.ExecuteNonQuery();
connection.Close();
// 重新绑定 GridView 数据
GridView1.DataBind();
}
“`
3.运行项目,将在GridView控件中看到一个“Delete”按钮。单击该按钮,即可将选定的数据从数据库中的Customers表中删除。
四、数据更新
在ASP.NET中,GridView控件还能够轻松地实现数据更新。下面是一个示例,展示了如何使用GridView控件更新Northwind数据库中的Customers表中的数据。
1.在“Default.aspx”页面中,添加以下代码,为GridView控件添加Edit和Update两个模板列。
“`aspx
AutoGenerateColumns=”False” OnRowEditing=”GridView1_RowEditing” OnRowUpdating=”GridView1_RowUpdating” OnRowCancelingEdit=”GridView1_RowCancelingEdit”>
HeaderText=”Customer ID” ReadOnly=”True” />
<asp:label id="lblCompanyName" runat="server" text='’>
<asp:textbox id="txtCompanyName" runat="server" text='’ visible=”False”>
<asp:label id="lblContactName" runat="server" text='’>
<asp:textbox id="txtContactName" runat="server" text='’ visible=”False”>
<asp:label id="lblContactTitle" runat="server" text='’>
<asp:textbox id="txtContactTitle" runat="server" text='’ visible=”False”>
“`
2.在“Default.aspx.cs”页面中,添加以下代码,处理GridView控件中的编辑、更新和取消编辑操作。
“`c#
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
// 修改 GridView 控件的模板列为编辑模式
GridView1.EditIndex = e.NewEditIndex;
GridView1.DataBind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
// 读取 CustomerID 值
string customerID = GridView1.DataKeys[e.RowIndex].Value.ToString();
// 读取 TextBox 控件的值
string companyName = ((TextBox)GridView1.Rows[e.RowIndex].FindControl(“txtCompanyName”)).Text;
string contactName = ((TextBox)GridView1.Rows[e.RowIndex].FindControl(“txtContactName”)).Text;
string contactTitle = ((TextBox)GridView1.Rows[e.RowIndex].FindControl(“txtContactTitle”)).Text;
// 配置数据库连接字符串
string connectionString = @”Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Northwind;Integrated Security=True”;
// 创建连接并打开
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
// 创建 UPDATE 查询
string query = “UPDATE Customers SET CompanyName = @CompanyName, ContactName = @ContactName, ContactTitle = @ContactTitle WHERE CustomerID = @CustomerID”;
// 创建命令对象并添加参数
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue(“@CompanyName”, companyName);
command.Parameters.AddWithValue(“@ContactName”, contactName);
command.Parameters.AddWithValue(“@ContactTitle”, contactTitle);
command.Parameters.AddWithValue(“@CustomerID”, customerID);
// 执行命令并关闭连接
command.ExecuteNonQuery();
connection.Close();
// 取消编辑模式
GridView1.EditIndex = -1;
GridView1.DataBind();
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
// 取消编辑
GridView1.EditIndex = -1;
GridView1.DataBind();
}
“`
3.运行项目,将在GridView控件中看到一个“Edit”按钮和一个“Update”按钮。单击“Edit”按钮,将进入编辑模式;在编辑模式下,你可以修改数据并单击“Update”按钮,即可将修改保存到数据库中。如果不想保存修改,可以单击“Cancel”按钮,退出编辑模式。
结语
本文简单介绍了如何使用ASP.NET GridView控件实现数据库数据的绑定、插入、删除和更新。在开发Web应用程序时,使用GridView控件是非常方便的,可以省去自己编写大量的数据操作代码。但需要注意的是,有些功能,比如分页和排序,可能需要额外的配置和代码来实现。