Mega Code Archive

 
Categories / Delphi / ADO Database
 

[] Delphide query ile kod yazarken dikkat daha sonra veri girerken hata olurrrrrrr

function tara(metin:string):string; var i : integer; begin result:=''; for i :=1 to length(metin) do begin if metin[i] = '''' then // metinin i. index numaralı harfi '' (tek tırnak anlamına geliyor) varsa Result := Result +'''''' // onu '''' (Çift tınak anlamına geliyor) yap. else // Aksi taktirde result:=result + metin[i]; // metnin i. indexli oylece al end; end; Delphi'de SQL kayıt yaparken eklenecek kaydın içinde ' (sadece tek tırnak) geciyorsa bu programda hataya neden olacaktır. Çünkü: Query1.SQL.Add('insert into sinavveritaban(soruno, sorudata ) Values (%d, ''%s'')'); SQL :=Format(CStr_InsertTemplate, [ Strtoint(edtSoruSirasi.Text), tara(mmSoru.Text) ]); Query1.SQL.Text :=SQL; Query1.ExecSQL; //soruno = 5 //sorudata = İstanbul'un Fethi ? Query komut satırında %s bulunan bolume deger verirken ' bulundugu için komut satırı şu hali alacaktır. insert into sinavveritaban(soruno, sorudata ) Values (5, ''İstanbul'un Fethi ?'') (un Fethi ?) kısmını tanımlayamaz. ve hataya neden olur......