0

データを抽出するための独自のコマンドを作成しようとしています。まず、ツールボックス SqlDataSource から .aspx で作成します。

 <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";
}

問題はどこだ ?このアプリを実行すると動作しません。

4

3 に答える 3

0

のパラメータを設定していませんSqlDataSource1
そして、私は接続文字列をカントします。

于 2013-03-03T17:45:58.730 に答える
0

いくつかの問題があります。最初の 1 つは、パラメーター化されたクエリを使用したが、パラメーターが何であるかを定義していないことです。2 つ目は、SQL クエリを SqlDataSource1 に割り当てるだけですが、それを行うとは言っていません。

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();
        }
    }
于 2013-03-03T17:48:12.777 に答える
0

selectコマンドで選択パラメータを追加する必要があります

protected void SqlDataSource1_Selecting(オブジェクト送信者, SqlDataSourceSelectingEventArgs e)
        {
            SqlDataSource1.SelectCommand = "SELECT name, num FROM Table WHERE T_Name=@MyString";
SelectParameters["MyString"].DefaultValue = "ここにパラメータ";

        }
于 2013-03-03T17:48:17.223 に答える