0

aspxページにsqldatasourceがあり、クエリで1つのパラメーター、つまりセッションから取得したいパラメーターを使用したいと考えています。

以下は私のコードです。助けてください。

<asp:SqlDataSource runat="server" ID="MySQLData2"
ConnectionString='<%$ConnectionStrings:ConnectionString %>'
ProviderName="MySql.Data.MySqlClient"
SelectCommand="SELECT * FROM tablename  WHERE id="Here I want to use session variable"" />
4

5 に答える 5

2

これを試して

<asp:SqlDataSource runat="server" ID="MySQLData2"
    ConnectionString='<%$ConnectionStrings:ConnectionString %>'
    ProviderName="MySql.Data.MySqlClient"
    SelectCommand="SELECT * FROM tablename  WHERE id=@SessionVar">
  <SelectParameters>
     <asp:SessionParameter Name="SessionVar" SessionField="SessionVariableName" ConvertEmptyStringToNull="true" />
  </SelectParameters>
</asp:SqlDataSource>
于 2012-07-25T12:42:45.640 に答える
1

このMSDNの記事では、必要なものを入手できます。基本的には、パラメータープレースホルダー「?」を使用してSelectCommandを定義してから、SessionParameterのエントリを使用してSelectParametersコレクションを定義します。

于 2012-07-25T12:41:45.720 に答える
0

パラメータの使用はかなり簡単です。

 <asp:SqlDataSource id="Employees" runat="server"
  ConnectionString="<%$ ConnectionStrings:Northwind%>"
  SelectCommand="SELECT LastName FROM Employees WHERE Title = @Title">
  <SelectParameters>
    <asp:ControlParameter Name="Title" 
      ControlID="DropDownList1"
      PropertyName="SelectedValue"/>
  </SelectParameters>
</asp:sqldatasource>

パラメータの値を変数に置き換えるだけです。

 <%= Sessiom[variable_name] %>
于 2012-07-25T12:41:27.433 に答える
0
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Data Source=LAZY-PC;Initial Catalog=Test;Integrated Security=True"
        ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM [C] WHERE ([C#] = @column1)">
        <SelectParameters>
            <asp:SessionParameter Name="column1" SessionField="id" Type="String" />
        </SelectParameters>
    </asp:SqlDataSource>
于 2012-07-25T12:43:15.310 に答える
0

Johnny_D の答えはかなり適切SessionParameterですが、これに使用できるクラスがあることを指摘したいと思います。

<asp:SqlDataSource runat="server" ID="MySQLData2"
    ConnectionString='<%$ConnectionStrings:ConnectionString %>'
    ProviderName="MySql.Data.MySqlClient"
    SelectCommand="SELECT * FROM tablename WHERE id= ?" />
      <SelectParameters>
          <asp:SessionParameter
            Name="id"
            SessionField="SessionVariableName"
            DefaultValue="0" />
      </SelectParameters>
  </asp:SqlDataSource>
于 2012-07-25T12:48:22.610 に答える