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

OKでは、selectステートメントのプレフィックスが間違っている可能性があります

@BadgeNum

vs

:BadgeNum
于 2012-05-16T20:05:18.460 に答える