2

我在处理这种事情方面还很陌生,所以如果我的问题看起来太简单了,请原谅我。我已经尝试了一段时间,并搜索了我能找到的所有相关文章,但我无法让我的代码正常工作。

我想通过另一侧的参数传递来自“BadgeNum.Text”的字符串并让它执行查询。我无法让值正确传递,因此无法让任何记录出现在我的查询中。我已经使用硬编码数据多次测试了查询,它工作正常。

在这里的任何帮助将不胜感激。

<asp:SqlDataSource ID="GridDataSource" runat="server" 
            ConnectionString="<%$ ConnectionStrings:Oracle1TestString %>" 
            ProviderName="<%$ ConnectionStrings:Oracle1TestString.ProviderName %>" 
            SelectCommand="SELECT MODEL_NUMBER, SERIAL_NUMBER, DEFECT_CODE, RECORD_DATE, RECORD_TIME, PRODUCTION_DATE, AUDIT_TYPE FROM AUDITENT WHERE AUDITOR_BADGE = @BadgeNum" 
            onselecting="GridDataSource_Selecting">

            <SelectParameters>
                <asp:Parameter Name="BadgeNum" Direction="Input" DbType="String" />
            </SelectParameters>
        </asp:SqlDataSource>

这是(C#)背后的代码:

protected void Page_Load(object sender, EventArgs e) {

        BadgeNum.Text = "0205096";
        Parameter badge = new Parameter();
        badge.DefaultValue = BadgeNum.Text;
        badge.Type = TypeCode.String;
        badge.Name = "BadgeNum";
        GridDataSource.SelectParameters.Add(badge);
        GridDataSource.DataBind();
}
4

1 回答 1

1

好的,那么您的选择语句中的前缀可能是错误的

@BadgeNum

对比

:BadgeNum
于 2012-05-16T20:05:18.460 回答