' işareti sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
techmaster
Üye
Mesajlar: 52
Kayıt: 08 Ağu 2003 03:24
Konum: Adana

' işareti sorunu

Mesaj gönderen techmaster »

s.a.

formumda editbox'ın içine yazdığım içinde tırnak işareti olan bir kelimeyi (ör:Ali'nin) veritabanında sorgulatmak istediğimde hata veriyor...

Kod: Tümünü seç

......add('select * from tablo where kimin = '''+edit1.text+'''');
....open;
bu sorunu nasıl halledebilirim??
master of technology

http://www.cuemot.org
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Mesaj gönderen ender_arslanturk »

Merhaba

Kod: Tümünü seç


......add('select * from tablo where kimin = '+QuotedStr(edit1.text)); 
....open; 
şeklinde denermisin..
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Mesaj gönderen ender_arslanturk »

Evet şimdi anladım. Teşekkür Ederim....
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

bunun sebebinide yazalım isterseniz rezerve kelimeler gibi kabul ediyor...o zaman....
Siz hayal edin...Biz yapalım TuannaSoft...
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Mesaj gönderen ender_arslanturk »

Tabii Quotedstr kelimesi paradox ta bile kullanılan bir kelimedir. Bazen sql cümlenizde sıkıntı olur ya hani. Ama kod doğru. Ne yapmak lazım. Hemen bu kelimeyi ekliyoruz. Neden bu kelime ekleniyor derseniz vt mizde cracter olan yani düz metin girilen alanlarda filtreleme ve sorgulama işlemini daha rahat gerçekleştirilebilir.

Mesela

Sayısal Alanda;

Kod: Tümünü seç

Query1Filter:='Sayi='+Edit1.Text;
Character Alanda;

Kod: Tümünü seç

Query1Filter:='Yazı='+QuotedStr('Ender ');
gibi kullanılmaktadır. Aynı şekilde SQL Cümlesi içinde durum aynıdır.
Kullanıcı avatarı
techmaster
Üye
Mesajlar: 52
Kayıt: 08 Ağu 2003 03:24
Konum: Adana

Mesaj gönderen techmaster »

ender_aslantürk verdiğiniz yöntem işe yaradı çok teşekkürler...
iyi çalışmalar...
master of technology

http://www.cuemot.org
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Mesaj gönderen ender_arslanturk »

Öndemli değil ne demek :wink:
Kullanıcı avatarı
techmaster
Üye
Mesajlar: 52
Kayıt: 08 Ağu 2003 03:24
Konum: Adana

Mesaj gönderen techmaster »

bu sorunu hallettim ama hemen arkasından yeni bi sorun çıktı...forumda msj kirliliği oluşturmamak için burdan devam etmeyi uygun buldum...

Kod: Tümünü seç

 frm_ana.IBDataSet1.Close;
 frm_ana.IBDataSet1.InsertSQL.Clear;
 frm_ana.IBDataSet1.InsertSQL.Add('insert into GRUP (GRUP_ADI,GRUP_YILI)');
 frm_ana.IBDataSet1.InsertSQL.Add('VALUES ('''+edit1.Text+''','''+edit6.Text+''')');
 frm_ana.IBDataSet1.ExecSQL;
butona tıklayınca bu olayın olması gerekiyor ama 'use open for a select statement' gibi garip bi hata alıyorum...programın bi bildiği vardır diyip open ile denedim:D ama yine olmadı....
iyi çalışmalar...
master of technology

http://www.cuemot.org
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Mesaj gönderen Fatih! »

InsertSQL yerine Selectsql yaz
Kullanıcı avatarı
techmaster
Üye
Mesajlar: 52
Kayıt: 08 Ağu 2003 03:24
Konum: Adana

Mesaj gönderen techmaster »

evet FAOsoft hocam çalıştı teşekkür ederim ama anlamadım sorunun sebebini hani selectsql komutuyla insert yapamazdık...ayrıca hem execsql hemde open' la çalıştı bunuda anlamadım açıkçası :?: :?: :?: :?:
master of technology

http://www.cuemot.org
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Mesaj gönderen Fatih! »

insertSQLe yazacağın delphi tarafından verilecek olan insert veya append komutlarıyla tetiklenip kaydı vt'ye ekler. bu özelliğe ataan cümleyi bir komutla çalıştırabiliyorduk sanırım ama şuan aklıma gelmiyor.
forumda arama yaparak daha fazla bilgiye ulaşabilirsin
Kullanıcı avatarı
techmaster
Üye
Mesajlar: 52
Kayıt: 08 Ağu 2003 03:24
Konum: Adana

Mesaj gönderen techmaster »

peki ' işareti içeren bir kelimeyi veritabanına nasıl kaydederiz...
quotedstr hata veriyor, kaydetmiyor...
master of technology

http://www.cuemot.org
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

selam ' bu işaret string bir ifadedir string bir ifadeyide tablodan varchar olarak tanımlarsan kaydeder senin bir şey yapmana gerk yok ..Bu firebrid için aynı şekilde paradox için de (A) olaraktanımlarsanda olur kolay gelsin
Kullanıcı avatarı
techmaster
Üye
Mesajlar: 52
Kayıt: 08 Ağu 2003 03:24
Konum: Adana

Mesaj gönderen techmaster »

s.a.
zaten veritabanındaki alan varchar aam sorun sql sorgusunu çalıştırırken oluyor yani

insert into......+edit1.text+......

gibi yapınca oluyor
master of technology

http://www.cuemot.org
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba,
Sorunun cevabı çözülmüş ama bende bir ekleme yapmak istiyorum.

bu gibi durumlarda ben #39 kullanıyorum ve sorunu böyle çözüyorum.

Saygılar.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Cevapla