Tırnak sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Tırnak sorunu
Programda kayıtları sql sorgusu ile yapıyorum. ( insert into ...)
Varchar bir alana insert ederken o alana gidecek string içinde tırnak '
kullanınca normal olarak hata alıyorum.
Bu sorunu nasıl çözebilirim ?
Varchar bir alana insert ederken o alana gidecek string içinde tırnak '
kullanınca normal olarak hata alıyorum.
Bu sorunu nasıl çözebilirim ?
String bir ifade yazarken delphide her bir tırnak için bir tırnak daha kullanlısınız, yani bir tırnak için;
yazılmalı bu stringin değeri tek tırnak olarak algılanır. Yani sizde yazarken
gibi yapmanız lazım.
Kod: Tümünü seç
''''
Kod: Tümünü seç
'INSERT INTO ..... '''+Edit1.Text+''' '
aslında kural bilinirse bence daha kolay anlaşılabilir. Tek tırnak stringler için kullanılır, eğer stringe tırnak eklemek istiyorsanız her bir tırnak için 2 tane tek tırnak ( '' ) kullanmanız lazım.
Mesela : 'Mustafa''nin Kalemi'
tek tırnak eklemek için : '''' -> ilki ve sonuncusu stringi ifade ediyor. Ortadaki iki tek tırnakta bir tek tırnak ekliyor.
Kolay gelsin.
Mesela : 'Mustafa''nin Kalemi'
tek tırnak eklemek için : '''' -> ilki ve sonuncusu stringi ifade ediyor. Ortadaki iki tek tırnakta bir tek tırnak ekliyor.
Kolay gelsin.
ekleme
insert ederken tırnak sayısı çifte tamamlasam daha yine hata alıyorum. Şuan yaptığım iş eğer tek tırnak ' girildiyse onu çift " olarak yazdırıyorum. Ama programda tahmini 350 civarında string girişi var. Hepsinde bu tarz kotrol yapmak biraz zahmetli oluyor. Daha pratik çözüm varmı acaba ?
- Bir de parametre denesen diyordum...
Kod: Tümünü seç
With ADOSorgu do
begin
Active := False;
SQL.Clear;
SQL.Add('INSERT INTO tablo');
SQL.Add(' (Alan1, Alan2, Alan3)');
SQL.Add('Values (:d01, :d02, :d03 )');
Parameters.ParamByName('d01').Value := Edit1.Text;
Parameters.ParamByName('d02').Value := Edit2.Text;
Parameters.ParamByName('d03').Value := Edit3.Text;
ExecSQL;
end; // With
- fatihtolgaata
- Üye
- Mesajlar: 382
- Kayıt: 04 Mar 2004 09:46
- Konum: K.çekmece / İstanbul
- İletişim:
Selamlar,
Tekrar eden Query'lerde (Program içinde döngü ile bir inser yaparsanız) Parametre kullanmak, server'ın yorumlama zamanını kısaltacağı için daha hızlı olur. Eğer her seferinde yeni bir SQL cümlesi oluşturursanız Query'niz illaki prepare time denen zamanı her Query için harcayacaktır bu da hız kaybetmenize neden olur.
Kolay Gelsin
Tekrar eden Query'lerde (Program içinde döngü ile bir inser yaparsanız) Parametre kullanmak, server'ın yorumlama zamanını kısaltacağı için daha hızlı olur. Eğer her seferinde yeni bir SQL cümlesi oluşturursanız Query'niz illaki prepare time denen zamanı her Query için harcayacaktır bu da hız kaybetmenize neden olur.
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
merhaba.
kolay gelsin.
tüm yapıyı neden değiştirmek gerektiğini anlamadım.programlarınızı sistematik bi şekilde kodluyorsanız, böyle bir değişiklik gerektiğinde ilgili fonksiyon, procedure, const vs.de yapılacak küçük bir değişiklik tüm projeyi o yönde düzenleyecektir..bilbeyi yazdı:Şuan da parametreyi kullanmam zor. Çünkü program şuan yazılmış durumda . Tüm yapıyı değişmem bi hayli vakit alır.
kolay gelsin.
Lütfen arayalım araştırmacı olalım anahtar kelime QuotedStrbilbeyi yazdı:fatihtolgaata yazdığın yöntemi denedim ama sorun devam ediyor. Eğer bir örnek varsa yollarmısın

Kolay gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.