0

シリアル番号の一致に基づいてInsertステートメントを実行しようとするとサポートが必要です。表" EDI40025.Bundle_Serial_Num"のフィールドの長さは20文字で、" SerialNumber.Text"は6文字です。どういうわけか、Bundle_Serial_Numのサブストリングを取得して、テキストフィールドと一致するように6文字のみをチェックすることはできますか?

たとえば、myBundle_Serial_Numはで"UNS40000000000447022"、SerialNumber.Textは"447022"です。Bundle_Serial_Numの最後の6つをテキストフィールドの6つと比較したいと思います。

string sql = @"INSERT INTO EDI40021 (Vendor_Order, BOL_Num, Cust_Part_Num)  
             WHERE (EDI40025.Bundle_Serial_Num = '" + SerialNumber.Text + "')";  

ありがとうございました。

4

1 に答える 1

0

この関数を使用してRIGHT、シリアル番号の最後の6文字を取得します。

WHERE (RIGHT(EDI40025.Bundle_Serial_Num, 6) = '" + SerialNumber.Text + "')"; 

ただし、現在SQLインジェクション攻撃に対して脆弱であるため、可能であれば、クエリをパラメータ化されたクエリとして書き直したいと思うでしょう。

SELECTINGまた、テーブルEDI40025からではないため、クエリは正しく表示されません。

于 2012-09-05T20:01:59.653 に答える