我的总体目标是能够在我的文本框中输入信息,然后单击按钮以使用gridview搜索并从数据库中获取结果。到目前为止,我已经设置了SqlDataSource
SQL语句。我需要弄清楚如何将点击事件上的按钮与我的SqlDataSource
和Textbox
相关联。
这是我到目前为止所做的:
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection connection = new SqlConnection("Data Source=********;Initial Catalog=*******;User ID=*******;Password=*******");
connection.Open();
}
我不确定如何使用我已设置的SqlDataSource
。
更新代码:
SqlConnection sqlCon = new SqlConnection("*******");
SqlDataAdapter dt = new SqlDataAdapter();
DataSet ds = new DataSet();
try
{
sqlCon.Open();
dt.SelectCommand = new SqlCommand("SELECT* FROM Core.Form_Section_SubSection_Item_Rel WHERE ([DataCollectionPeriodID] = @DataCollectionPeriodID)", sqlCon);
dt.Fill(ds);
sqlCon.Close();
GridView1.DataBind();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
答案 0 :(得分:1)
我会建议您使用带有参数的存储过程并执行类似下面的操作,但您可以更改此选项以使用您的选择查询,只需更改命令类型
using (SqlConnection sqlCon = new SqlConnection("connection string"))
{
using (SqlCommand cmd = new SqlCommand())
{
sqlCon.Open();
cmd.Connection = sqlCon;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT* FROM Core.Form_Section_SubSection_Item_Rel WHERE DataCollectionPeriodID = @DataCollectionPeriodID";
cmd.CommandTimeout = 30;
cmd.Parameters.Add("@DataCollectionPeriodID", SqlDbType.VarChar).Value = TextBox1.Text
SqlDataAdapter dt = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
dt.Fill(ds);
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
GridView1.DataSource = ds;
GridView1.DataBind();
}
}
}
}