Kaf_Dağı | 11 Mart 2015 10:33 | Sql cümlelerinde tek tırnak sorununa alternatif Sql cümlelerinde tek tırnak sorununa alternatif Kod:
mrb arkadaşlar
cogumuzun genel sıkıntısı olan MSSQL SERVER uygulamalarımızda
sql cumlelerinde string ayracı olarak tek tırnak ayracının
kullanımı herzaman can sıkıcı olmusturç
burda edindiğim tecrubelerimi sizlerle paylaşmak istiyorum.
bu sorunu aşmanın 3 farklı yolu var
1. sql cumlesinde tek tırnaka alternatif ikikez tek tırnak kullanmak ki bu gayet can
sıkıcı oluyor :(
örn:adoquery.sql.add('select * from musteri where adi='+'''+'ahmet'+''')
2. sql cumlelerinde tek tırnagın ascıı kodunu yazabilirsiniz
örn:adoquery.sql.add('select * from musteri where adi='+#39+'ahmet'+#39)
buda biraz can sıkı değilmi :)
3. sql cumlesinde srtingreplace komutu kullanarak arzu ettiğiniz bir karakteri değiştirerel
yapabilirsiniz.
benim favori yontemim bu :D
sadece yazdıgınız koda bir satır daha kod eklemiş olursunuz.
örn
adoquery.sql.add('select * from musteri where adi="ahmet"')
adoquery.sql.text:=StringReplace(adoquery.sql.text ,'"','''',[rfReplaceAll]);
bu şekilde sql i open yapmadan evvel " tırkan sembolunu ' tırnakla yerdeğiştirirsiniz
sonra
adoquery.open yada adoquery.execute
diyerek kodunuzu calıstırırsınız.
not: bu komutu kullanabilmeniz için uses kısmında sysutils unitini eklemelisiniz.
sizin bildiğiniz başka bir yontem varsa paylaşmanızı rica ederim :))
bu arada vb de cok sık kullanılan & _
eklentisini delphide karsılığı varmı biliyormusunuz??
başarılar.
server |