Bir veritabanından (> 10K) terimleri okumayı deniyorum ve bu terimi başka bir sorguda kullanıyorum.sql'de "alıntılanan dize düzgün şekilde sonlandırılmadı" durumuna neden olan tek tırnak kaçışından nasıl kurtulur?
Benalıntı dize düzgün
term.replaceAll("'", "\\'");
yaptım 'sonlandırıldı değil ama bu benden işi yapmak için görünmüyor: Ben Oracle aşağıdaki hatayı alıyorum. Ayrıca, bu terimler metne dönüştürüldüklerinde belgelerin belirteçleridir. Bu sorunun üstesinden gelebilecek düzenli bir ifade var mı?
tam SQL sorgusu: Ben Java kullanıyorum
String sql = "Select * from indexDB where (DocID=" + d.getDocId() + "and Term='" + term + "')";
. Değiştirme benim için çalışmıyor.
[SQL Injection] 'da okumaya ihtiyacınız var (http://en.wikipedia.org/wiki/SQL_injection) – Oded
Ayrıca, parametreli sorguların nasıl kullanılacağı hakkında ayrıntılı bilgi için http://bobby-tables.com/ sayfasına bakın. Kullandığınız dil. Bu, Oded'in atıfta bulunduğu SQL enjeksiyonundan sizi koruyacaktır. –
Evet, içinden geçti ve parametreli sorgulama yaptı! Çok teşekkürler ! – Aashima