我的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");
}
代替使用aSqlDataReader
更新值,请使用SqlCommand.ExecuteNonQuery
:
int updated = cmd2.ExecuteNonQuery();
请记住,你需要使用ExecuteNonQuery
的命令是修改您的数据,如Delete
,Insert
或Update
。
MSDN:
您可以使用ExecuteNonQuery执行目录操作(例如,查询数据库的结构或创建数据库对象,例如表),或通过执行UPDATE,INSERT或DELETE语句来更改数据库中的数据而不使用DataSet。
完整的方法:
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();
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句