【问题标题】:Using Query String in a Datasource在数据源中使用查询字符串
【发布时间】:2014-06-08 07:15:10
【问题描述】:

非常简单的问题,但我似乎找不到正确的答案。如何将文本框的值传递到 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# 是我的代码。谢谢你们很酷的人。

【问题讨论】:

    标签: c# asp.net sql oracle


    【解决方案1】:

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

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

    【讨论】:

    • 您好安德烈,感谢您的分享。我不知道我可以将两者都用于一个数据源。但是如何使用查询字符串?问题至少解决了一半。谢谢!
    • @GianIsTheName,您想将它们用于相同的参数吗?
    • 是的,安德烈。这可能吗?
    • 你好@andrei。事实证明我不能同时使用这两个选择参数。所以只使用查询字符串。现在很好。我仍然会将其标记为答案,因为这个引导我找到正确的答案。
    猜你喜欢
    • 1970-01-01
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    相关资源
    最近更新 更多