string CourseID = "select CourseID from Course where CouserName='" + this.DropDownList1.SelectedItem.Text + "'" + "and Semester='" + this.DropDownList2.SelectedItem.Text + "'";有什么错误吗
时间: 2024-01-30 12:03:49 浏览: 76
这段代码可能存在 SQL 注入漏洞,建议使用参数化查询来避免这种风险。
下面是一个使用参数化查询的示例:
```csharp
string courseIDQuery = "SELECT CourseID FROM Course WHERE CouserName=@CourseName AND Semester=@Semester";
using (SqlConnection conn = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(courseIDQuery, conn))
{
cmd.Parameters.AddWithValue("@CourseName", this.DropDownList1.SelectedItem.Text);
cmd.Parameters.AddWithValue("@Semester", this.DropDownList2.SelectedItem.Text);
conn.Open();
string courseID = (string)cmd.ExecuteScalar();
conn.Close();
// do something with the courseID value
}
}
```
这样做可以避免恶意用户在 `DropDownList1` 和 `DropDownList2` 中输入恶意字符串来攻击你的应用程序。
阅读全文