if (radiogroup1.ItemIndex=0) then
begin
with adoquery1 do
begin
close;
sql.Clear;
sql.add('select * from tablo1');
sql.add('where ogrno between'+quotedstr(edit1.Text));
sql.add('and'+ quotedstr(edit4.Text));
//parameters.ParamByName('iogr').Value:=form10.Edit1.Text;
//parameters.ParamByName('sogr').Value:=form10.edit2.Text;
prepared;
open;
end;
if (radiogroup1.ItemIndex=1) then
begin
with adoquery1 do
begin
close;
sql.Clear;
sql.add('select * from tablo1');
sql.add('where sinif like'+ quotedstr(dblookupcombobox1.Text));
prepared;
open;
end;
end;
if (radiogroup1.ItemIndex=2) then
begin
with adoquery1 do
begin
close;
sql.Clear;
sql.add('select * from tablo1');
sql.add('where ograd like'+ quotedstr(edit2.Text));
prepared;
open;
end;
end;
yukarıdaki kodda ogrno alanı çalışıyor ama diğerleri çalışmıyor hatam nerdedir??
kod aynı ama??
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Kolay gelsin kardeş sabahın 7 sinde denedim ve buraya koyuyorum umarım boşuna olmamıştır. Deneme de 1 adet form ve 1 adet datamodule kullanılmıştır.
Form içerisinde; Edit1.Text,Edit2.Text,ComboBox1.Text,RadioGroup1,DBGrid1,BitBtn1(Ara butonu)...
datamodul de de ADOConnection1,ADOQuery1,DataSource1
Kendinize göre ayarlarsınız. ADO filter demişsiniz o sql den daha ağırdır. Hızlı ve kullanışlı olan sql komutlarıdır. Birde prepared ile ilgili demişsiniz o da olayın daha verimli olmasını sağlar. Düzene sokar.
Bir de dost tavsiyesi, bir kodun o an için işliyor olması sizi yanıltmasın. Kullanılmaya başlandıktan bir süre sonra hatalar vermeye başlar neden olduğunu anlamakta zorluk çekebilir ve zor anlara düşebilirsiniz.
O yüzden iyice araştırma yapılması veya böyle forumlarda soru ve cevapları takip edip gerekli faydalar alıncağı kanaatindeyim. Yorum sizin...
Kolay gelsin,
Form içerisinde; Edit1.Text,Edit2.Text,ComboBox1.Text,RadioGroup1,DBGrid1,BitBtn1(Ara butonu)...
datamodul de de ADOConnection1,ADOQuery1,DataSource1
Kod: Tümünü seç
procedure TForm2.BitBtn1Click(Sender: TObject);//Ara butonu
begin
if DataModule1.ADOQuery1.Active=True then //Tablemiz açık mı
begin
Case RadioGroup1.ItemIndex of
0:
begin
if (Trim(Edit1.Text)<>'') and (Trim(Edit2.Text)<>'') then
begin
DataModule1.ADOQuery1.Close;
DataModule1.ADOQuery1.SQL.Clear;
DataModule1.ADOQuery1.SQL.Add('select * from tablo2');
DataModule1.ADOQuery1.SQL.Add('where ogrno>=:xio and ogrno<=:xson');
DataModule1.ADOQuery1.Parameters.ParamByName('xio').Value:=StrToInt(Edit1.Text);
DataModule1.ADOQuery1.Parameters.ParamByName('xson').Value:=StrToInt(Edit2.Text);
DataModule1.ADOQuery1.Prepared:=True;
DataModule1.ADOQuery1.Open;
if DataModule1.ADOQuery1.IsEmpty then
begin
ShowMessage('Aradığınız kayıt bulunamadı');
Abort;
end;
end
else
begin
ShowMessage('Edit1 veya Edit2 Boş');
Edit1.SetFocus;
Abort;
end;
end;//0 rın sonu
1:
begin
if Trim(ComboBox1.Text)<>'' then
begin
DataModule1.ADOQuery1.Close;
DataModule1.ADOQuery1.SQL.Clear;
DataModule1.ADOQuery1.SQL.Add('select * from tablo2');
DataModule1.ADOQuery1.SQL.Add('where sinif Like "'+ComboBox1.Text+'%"');
DataModule1.ADOQuery1.Prepared:=True;
DataModule1.ADOQuery1.Open;
if DataModule1.ADOQuery1.IsEmpty then
begin
ShowMessage('Aradığınız kayıt bulunamadı');
Abort;
end;
end
else
begin
ShowMessage('Sınıf Seçimi Yapılmamış');
ComboBox1.SetFocus;
Abort;
end;
end;//1 in sonu
2:
begin
if Trim(Edit2.Text)<>'' then
begin
DataModule1.ADOQuery1.Close;
DataModule1.ADOQuery1.SQL.Clear;
DataModule1.ADOQuery1.SQL.Add('select * from tablo2');
DataModule1.ADOQuery1.SQL.Add('where ogradi Like "'+Trim(Edit2.Text)+'%"');
DataModule1.ADOQuery1.Prepared:=True;
DataModule1.ADOQuery1.Open;
if DataModule1.ADOQuery1.IsEmpty then
begin
ShowMessage('Aradığınız kayıt bulunamadı');
Abort;
end;
end
else
begin
ShowMessage('Edit2 boş');
Edit2.SetFocus;
Abort;
end;
end;//2 in sonu
end;//Case sonu
end
else
begin
ShowMessage('Kayıtlar aktif değil');
Edit1.SetFocus;
end;
end;
Bir de dost tavsiyesi, bir kodun o an için işliyor olması sizi yanıltmasın. Kullanılmaya başlandıktan bir süre sonra hatalar vermeye başlar neden olduğunu anlamakta zorluk çekebilir ve zor anlara düşebilirsiniz.
O yüzden iyice araştırma yapılması veya böyle forumlarda soru ve cevapları takip edip gerekli faydalar alıncağı kanaatindeyim. Yorum sizin...
Kolay gelsin,