通过C#代码将字符串传递给.ASPX中的SQL

时间:2012-05-16 19:49:44

标签: c# asp.net parameters

我很擅长处理这类事情,如果我的问题看起来太容易,请原谅我。我已经尝试了一段时间,并搜索了我能找到的所有相关文章,但我无法让我的代码工作。

我想通过另一方的参数从'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();
}

1 个答案:

答案 0 :(得分:1)

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

@BadgeNum

VS

:BadgeNum