PreparedStatement
クラスを使用した次のSQLクエリでは、次のようになります。
String query_descrip = "insert into timitemdescription (itemkey, languageid, longdesc, shortdesc) values (?, 1033, ?,?)";
PreparedStatement pstmt2 = con.prepareStatement(query_descrip);
pstmt2.setInt(1, rs4);
pstmt2.setString(2, itemdescription);
pstmt2.setString(3, itemdescription.substring(0,39));
pstmt2.executeUpdate();
アイテムの説明にアポストロフィと一重引用符と二重引用符が含まれることがあります。たとえば、最近の1つのアイテムの問題は「Planar22」モニターです。もちろん、文字列は誤って解釈され、説明の値は「Planar22」だと思っていました。文字列内の特殊文字を処理する最良の方法は何ですか。
一部の人々が正規表現を使用していることを読みましたが、これらはケースバイケースで固有のようです。私が取り組んでいるもう1つの方法は、文字列配列を1文字ずつ読み取ることです。これを行うには、より効率的でリソースをあまり消費しない方法があることを望んでいました。
更新いくつかのより広範なテストの後、私のコードでより多くの問題が発生していることがわかりました。これはURLエンコードの問題でもありました。htmlフォームにjspコードが入力されている場合、説明フィールドをオンラインフォームに移動しようとし、クエリではなくフォーム上で切り捨てられます。jTDSは、特殊文字の受信に関する問題も修正しました。jTDSはjarであるため、マシンの再起動を回避するのにも役立ちました。それが私が部分的に使用したものだったので、私はjTDSスレッドに賞金を授与します。
前もって感謝します