作者:C_z和 | 来源:互联网 | 2024-11-18 15:53
为了防止SQL注入攻击,可以使用参数化查询来确保输入数据的安全性。以下是一个示例,展示了如何在C#中使用参数化查询向数据库添加学生信息。
```csharp
private void AddStudent()
{
string strName = txtName.Text.Trim();
string strPwd = txtPwd.Text.Trim();
string strSql = "INSERT INTO Student (name, pwd) VALUES (@name, @pwd)";
string cOnnectionString= "server=.;database=TestDB;uid=sa;pwd=pwd123";
using (SqlConnection cOnn= new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(strSql, conn))
{
// 添加参数
cmd.Parameters.Add(new SqlParameter("@name", strName));
cmd.Parameters.Add(new SqlParameter("@pwd", strPwd));
conn.Open();
int result = Convert.ToInt32(cmd.ExecuteScalar());
if (result > 0)
{
// 插入成功
MessageBox.Show("学生信息添加成功!");
}
else
{
// 插入失败
MessageBox.Show("学生信息添加失败!");
}
}
}
}
```
通过使用参数化查询,可以有效防止SQL注入攻击,确保输入的数据不会被恶意利用。同时,使用`using`语句可以确保连接在使用后自动关闭,避免资源泄漏。