kod yardım

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
loxka
Üye
Mesajlar: 214
Kayıt: 18 Ağu 2003 01:10

kod yardım

Mesaj gönderen loxka »

Kod: Tümünü seç

procedure TForm7.Edit1Change(Sender: TObject);
begin
 Form1.Query1.SQL.clear;
 if RadioButton1.Checked then
begin
  Form1.Query1.SQL.Add('select * from "C:\Ticari\Database\carikart" where TUnvan like'+
  ''''+Edit1.text+'%'+'''');
  end;
  if RadioButton2.Checked then
begin
   Form1.Query1.SQL.Add('select * from "C:\Ticari\Database\carikart" where Adi like'+
  ''''+Edit1.text+'%'+'''');
  Form1.Query1.ExecSQL;
  Form1.Query1.active:=true;
  //DBGrid1.setfocus;
end;
end;
gibi bir kod yazdım radiobutton2 çalışıyor ama radiobutton1 işlem yapmıyor yardımlarınızı bekliyorum
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Kod: Tümünü seç

procedure TForm7.Edit1Change(Sender: TObject); 
begin 
   Form1.Query1.Close;
   Form1.Query1.SQL.clear; 
   if RadioButton1.Checked then 
   begin 
        Form1.Query1.SQL.Add('select * from "C:\Ticari\Database\carikart" where TUnvan like'+ ''''+Edit1.text+'%'+''''); 
        Form1.Query1.open;
    end
    else // Burada amaç eğer radio 1 işaretli ise 2 nci if bölümünü sorgulamaz kod daha performanslı çalışır.
    if RadioButton2.Checked then 
    begin 
         Form1.Query1.SQL.Add('select * from "C:\Ticari\Database\carikart" where Adi like'+ ''''+Edit1.text+'%'+''''); 
         Form1.Query1.open;
        //DBGrid1.setfocus; 
    end; 
end; 

İyi Çalışmalar.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

1. Tablo ismi vermemişsiniz. Bence en güzeli bir database veya Connection nesnesi koyup, tüm Query ve Table gibi datasetleri buna bağlamak.

2. ...Query1.ExecSQL satırından sonraki ...Query1.Active := True satırına gerek yok. Kaldır onu.

Kolay gelsin.
loxka
Üye
Mesajlar: 214
Kayıt: 18 Ağu 2003 01:10

Mesaj gönderen loxka »

teşekkür ederim
hakkus
Üye
Mesajlar: 160
Kayıt: 18 Haz 2003 12:02
Konum: Konya

Mesaj gönderen hakkus »

Form1.Query1.ExecSQL;
Form1.Query1.active:=true;
bu satırlar
radio2 nin begin end di arasında kalıyor...
bu iki satırı rad1 ve radio2 begin end 'i dışına taşırsan senin kodunda çalışacaktır..
kolay gelsin
saygılar
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

ExecSQL; Yazılan SQL cümlesi bir result döndürmiyecekse kullanılır, yani delete işlemi yapıyorsa yazılan SQL cümlesi, ozaman kullanabilirsiniz. Aynı işlemi Open ile de yapabilirsiniz, .Active := True; ile .Open; arasında işlevsel bir fark yoktur.
Yazdığın ExecSQL ve arkasında Active:= True; compiler hata vermeyebilir hatta RunTime'da da hata vermeyebilir, ama bu bir mantık hatası sayılır.
Kolay gele[/b]
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Cevapla