使用Details View控件编辑数据的代码
时间: 2023-12-02 15:04:49 浏览: 33
以下是使用 Details View 控件编辑数据的代码示例:
1. 绑定数据源
```C#
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
string query = "SELECT * FROM Customers WHERE CustomerID = @CustomerID";
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@CustomerID", Request.QueryString["CustomerID"]);
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet, "Customers");
DetailsView1.DataSource = dataSet.Tables["Customers"];
DetailsView1.DataBind();
}
}
```
2. 编辑数据
```C#
protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
string query = "UPDATE Customers SET ContactName = @ContactName, ContactTitle = @ContactTitle, Phone = @Phone WHERE CustomerID = @CustomerID";
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@ContactName", e.NewValues["ContactName"]);
command.Parameters.AddWithValue("@ContactTitle", e.NewValues["ContactTitle"]);
command.Parameters.AddWithValue("@Phone", e.NewValues["Phone"]);
command.Parameters.AddWithValue("@CustomerID", Request.QueryString["CustomerID"]);
connection.Open();
command.ExecuteNonQuery();
connection.Close();
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
e.Cancel = true;
}
```
3. 插入数据
```C#
protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
string query = "INSERT INTO Customers (CustomerID, CompanyName, ContactName, ContactTitle, Phone) VALUES (@CustomerID, @CompanyName, @ContactName, @ContactTitle, @Phone)";
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@CustomerID", e.Values["CustomerID"]);
command.Parameters.AddWithValue("@CompanyName", e.Values["CompanyName"]);
command.Parameters.AddWithValue("@ContactName", e.Values["ContactName"]);
command.Parameters.AddWithValue("@ContactTitle", e.Values["ContactTitle"]);
command.Parameters.AddWithValue("@Phone", e.Values["Phone"]);
connection.Open();
command.ExecuteNonQuery();
connection.Close();
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
e.Cancel = true;
}
```
4. 删除数据
```C#
protected void DetailsView1_ItemDeleting(object sender, DetailsViewDeleteEventArgs e)
{
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
string query = "DELETE FROM Customers WHERE CustomerID = @CustomerID";
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@CustomerID", Request.QueryString["CustomerID"]);
connection.Open();
command.ExecuteNonQuery();
connection.Close();
Response.Redirect("Customers.aspx");
e.Cancel = true;
}
```
以上代码示例仅供参考,具体实现需要根据您的实际情况进行调整。