NpgsqlConnection conn = new NpgsqlConnection(SqlHelper.sqlcon); NpgsqlCommand sqlCmd = new NpgsqlCommand(); //创建执行sql的对象 try { conn.Open(); sqlCmd = new NpgsqlCommand("delete from login where login_no='" + yhbh.Text.Trim() + "'", conn); sqlCmd.ExecuteNonQuery(); MessageBox.Show("用户删除成功!", "提示"); } catch (Exception ex2) { MessageBox.Show("连接数据库发生错误:" + ex2.ToString(), "错误!"); } finally { sqlCmd.Dispose(); conn.Close(); button2_Click_1(this, e); } 转化
时间: 2024-01-12 16:02:59 浏览: 20
以下是可能的另一种实现方式:
```
using (NpgsqlConnection conn = new NpgsqlConnection(SqlHelper.sqlcon))
using (NpgsqlCommand sqlCmd = new NpgsqlCommand("DELETE FROM login WHERE login_no = @login_no", conn))
{
sqlCmd.Parameters.AddWithValue("@login_no", yhbh.Text.Trim());
try
{
conn.Open();
int rowsAffected = sqlCmd.ExecuteNonQuery();
if (rowsAffected > 0)
{
MessageBox.Show("用户删除成功!", "提示");
button2_Click_1(this, e);
}
else
{
MessageBox.Show("未找到对应的用户记录!", "提示");
}
}
catch (Exception ex)
{
MessageBox.Show("连接数据库发生错误:" + ex.ToString(), "错误!");
}
}
```
该代码片段使用了 `using` 语句块来确保 `NpgsqlConnection` 和 `NpgsqlCommand` 对象被正确释放。另外,该代码片段使用了参数化查询来避免 SQL 注入攻击,并且在执行删除操作后检查受影响的行数,根据情况显示不同的提示信息。