В следующем запросе SQL с использованием класса PreparedStatement
:
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();
Я иногда получаю апострофы и одинарные и двойные кавычки в своих описаниях предметов. например, моя последняя проблема с одним элементом - это монитор «Планар 22». Конечно, строка была неверно истолкована и считалась, что значение описания было просто «Планар 22».
Каков наилучший способ обработки специальных символов в строке?
Я читал, что некоторые люди используют регулярные выражения, однако, похоже, что они специфичны для каждого конкретного случая. Другой способ, над которым я работаю, - это чтение строкового массива символ за символом. Я надеялся, что есть более эффективный и менее ресурсоемкий способ сделать это.
UPDDATE
После более тщательного тестирования выясняется, что в моем коде возникли другие проблемы. это была также проблема кодирования URL. Когда html-форма заполняется кодом jsp, он пытается переместить поле описания в онлайн-форму, он усекает его там в форме, а не в запросе. jTDS также исправил проблему получения специальных символов. Поскольку jTDS - это jar, это также помогло избежать перезагрузки компьютера. Я награждаю потоком jTDS награду, так как это было тем, что я частично использовал.
заранее спасибо