gpt4 book ai didi

c# - Asp.Net SQL 更新语句

转载 作者:行者123 更新时间:2023-11-30 20:39:26 26 4
gpt4 key购买 nike

我的页面上有一个 Asp.net 应用程序,用户请求删除用户。然后这会填充我的“Admin_TaskList”数据库。

然后管理员进入站点的安全区域并输入用户名并单击按钮。确认后,用户将从我的“用户”数据库中删除(已经开始工作),但我希望我的“Admin_TaskList”数据库“状态”列从“待办事项”更改为“已完成”。

令我难过的是,删除位正在工作,但我正在努力更新我的其他表。

我试过的代码片段

conn.Open();
SqlCommand cmd2 = new SqlCommand("UPDATE FROM Admin_TaskList SET Status = 'Complete' WHERE Description = 'Remove User' AND Name = @Name", conn);
cmd2.Parameters.AddWithValue("@Name", txtRemoveUser.Text);
SqlDataReader rd2 = cmd2.ExecuteReader();
conn.Close();

完整代码

public void btnRemoveConfirmYes_Click(object sender, EventArgs e)
{
string connection = ConfigurationManager.ConnectionStrings["PaydayLunchConnectionString1"].ConnectionString;
SqlConnection conn = new SqlConnection(connection);

conn.Open();
SqlCommand cmd1 = new SqlCommand("DELETE FROM Users WHERE Name = @Name", conn);
cmd1.Parameters.AddWithValue("@Name", txtRemoveUser.Text);
SqlDataReader rd1 = cmd1.ExecuteReader();
conn.Close();

conn.Open();
SqlCommand cmd2 = new SqlCommand("UPDATE FROM Admin_TaskList SET Status = 'Complete' WHERE Description = 'Remove User' AND Name = @Name", conn);
cmd2.Parameters.AddWithValue("@Name", txtRemoveUser.Text);
SqlDataReader rd2 = cmd2.ExecuteReader();
conn.Close();

txtRemoveUser.Text = "";
Response.Redirect("/AdminSide/TaskList.aspx");
}

最佳答案

不使用 SqlDataReader 来更新值,而是使用 SqlCommand.ExecuteNonQuery :

int updated = cmd2.ExecuteNonQuery();

请记住,您需要对修改数据的命令使用 ExecuteNonQuery,例如 DeleteInsertUpdate .

MSDN:

You can use the ExecuteNonQuery to perform catalog operations (for example, querying the structure of a database or creating database objects such as tables), or to change the data in a database without using a DataSet by executing UPDATE, INSERT, or DELETE statements.

完整方法:

int deleted, updated;
string connection = ConfigurationManager.ConnectionStrings["PaydayLunchConnectionString1"].ConnectionString;

using (var conn = new SqlConnection(connection))
{
conn.Open();
string delSql = "DELETE FROM Users WHERE Name = @Name";
using (var cmd = new SqlCommand(delSql, conn))
{
cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = txtRemoveUser.Text;
deleted = cmd.ExecuteNonQuery();
}

string updSql = @"UPDATE Admin_TaskList
SET Status = 'Complete'
WHERE Description = 'Remove User'
AND Name = @Name";
using (var cmd = new SqlCommand(updSql, conn))
{
cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = txtRemoveUser.Text;
updated = cmd.ExecuteNonQuery();
}
}

关于c# - Asp.Net SQL 更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34357484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com