可以使用参数化查询并在代码中多次调用它。下面是一个示例:
代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadData(1); //第一次运行查询
}
}
protected void btnSearch_Click(object sender, EventArgs e)
{
int parameter = int.Parse(txtParameter.Text); //从文本框中获取参数值
LoadData(parameter); //第二次运行查询
}
private void LoadData(int parameter)
{
string connectionString = "your connection string";
string query = "SELECT * FROM YourTable WHERE YourColumn = @parameter";
using (SqlConnection conn = new SqlConnection(connectionString))
using (SqlCommand cmd = new SqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@parameter", parameter);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
//将查询结果绑定到GridView
yourGridView.DataSource = reader;
yourGridView.DataBind();
reader.Close();
}
}
在这个示例中,我们使用了参数化查询来防止SQL注入攻击。我们在Page_Load事件中第一次调用LoadData方法,并传递参数值1。然后,当用户单击btnSearch按钮时,我们从文本框中获取参数值并再次调用LoadData方法。 LoadData方法的代码非常简单,并且可以随时根据你的需要进行修改和扩展。