在数据源中使用查询字符串

时间:2014-04-23 12:39:40

标签: c# asp.net sql oracle

非常简单的问题,但我似乎无法找到正确的答案。如何将文本框的值传递到sqldatasource中的查询字符串?下面是我到目前为止sqldatasource的标记。

<asp:SqlDataSource ID="sqldsGPATLotFailures" runat="server" 
            ConnectionString="<%$ ConnectionStrings:CamRpt %>" 
            ProviderName="<%$ ConnectionStrings:CamRpt.ProviderName %>" SelectCommand="SELECT 
  s.insertionnumber
  , s.insertionreason
  , s.containername
  , s.wafernumber
  , s.OPCODE
  , s.trackinqty
  , s.totalgoodqty
  , s.totalrejectsqty
  , s.trackoutqty
  , ROUND(s.yield, 4) yield
  , ROUND(s.uppersyl, 4) uppersyl
  , ROUND(s.lowersyl, 4) lowersyl
  , s.gpatrejectsqty
  , ROUND(s.gpatyield, 4) gpatyield
  , s.trackouttime
FROM wsigssummary s
WHERE s.containername LIKE :lotID || '%'
ORDER BY s.trackouttime">
            <SelectParameters>
                <asp:QueryStringParameter DefaultValue="%" Name="lotID" 
                    QueryStringField="lotID" />
            </SelectParameters>
        </asp:SqlDataSource>

我是否需要执行代码才能使其正常工作?顺便说一句,我使用ASP.Net,Oracle 11g和C#是我的代码。谢谢酷人。

1 个答案:

答案 0 :(得分:2)

SqlDataSource中有一个特殊类型的参数用于来自控件的值 - ControlParameter

<SelectParameters>
    <asp:QueryStringParameter DefaultValue="%" Name="lotID" 
        QueryStringField="lotID" />
    <asp:ControlParameter Name="ParameterName" ControlID="TextBox1"
                          PropertyName="Text"/>
</SelectParameters>