GridView and SqlDataSource
本文关键字:SqlDataSource and GridView | 更新日期: 2023-09-27 18:02:03
我试图创建自己的命令来提取数据。首先,我在。aspx中创建工具箱SqlDataSource:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
onselecting="SqlDataSource2_Selecting"></asp:SqlDataSource>
然后添加GridView:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
onselecting="SqlDataSource1_Selecting"></asp:SqlDataSource>
现在我想写我自己的查询所以我双击"SqlDataSource">进入。aspx.cs:
protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
SqlDataSource1.SelectCommand = "SELECT name, num FROM Table WHERE T_Name=@MyString";
}
问题在哪里?当我运行这个应用程序不工作
有几个问题。第一种情况是使用了参数化查询,但没有定义参数是什么。第二种方法是给SqlDataSource1分配一个SQL查询但你并没有这么做
protected void Page_Load(object sender, EventArgs e)
{
System.Data.Sql.SqlConnection conn= new System.Data.Sql.SqlConnection(/*your connection string comes here*/);
string query= "SELECT name, num FROM Table WHERE T_Name=@MyString";
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.Sql.SqlCommand cmd = new System.Data.Sql.SqlCommand(query, conn);
System.Data.Sql.SqlDataAdapter da1 = new System.Data.Sql.SqlDataAdapter(cmd );
da1.SelectCommand.Parameters.AddWithValue("@MyString", your_string);
da1.Fill(dt);
if (dt.Rows.Count > 0)
{
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
您没有为SqlDataSource1
设置参数。
您应该使用select命令添加选择参数
<>之前sqldatasource1_selection (SqlDataSourceSelectingEventArgs){SqlDataSource1。SelectCommand = "SELECT name, num FROM Table WHERE T_Name=@MyString";SelectParameters("MyString")。DefaultValue = "这里的参数";}