merhaba
veritabanındaki alan adları
STOKADI:string;
SIRANO:integer;
formumda bir edit ve radiogrup var, radiogrup ta ilki seçili ise adına göre, ikincisi seçili ise sıranoya göre aratmak istiyorum.
SORUN: integer bir alanda edite girilen bilgiyi nasıl ararım.strtoint ile edite girileni integer a değiştirmeyi denedim olmadı nerde hata yapıyorum.
alttaki satırı nasıl yazmalıyım
DATAMOD.QBUL.SQL.Add('WHERE (SIRANO) like "%'+strtoint(ARAEDIT.Text)+'%"');
kodum şu şekilde:
if BUL.SEC.ItemIndex=0 then begin
DATAMOD.QBUL.Close;
DATAMOD.QBUL.SQL.Clear;
DATAMOD.QBUL.SQL.Add('SELECT ADI,SIRANO FROM DATA');
DATAMOD.QBUL.SQL.Add('WHERE (SIRANO) like "%'+(ARAEDIT.Text)+'%"');
DATAMOD.QBUL.ExecSQL;
DATAMOD.QBUL.Open;
ARAEDIT.Text:='';
end;
if BUL.SEC.ItemIndex=1 then begin
DATAMOD.QBUL.Close;
DATAMOD.QBUL.SQL.Clear;
DATAMOD.QBUL.SQL.Add('SELECT ADI,SIRANO FROM DATA');
DATAMOD.QBUL.SQL.Add('WHERE Lower(ADI) like "%'+LowerCase(ARAEDIT.Text)+'%"');
DATAMOD.QBUL.ExecSQL;
DATAMOD.QBUL.Open;
ARAEDIT.Text:='';
end;
Query ile arama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Query ile arama
sıra numarası sayısal bir veri. Sayısal verileri kullanırken tırnak ve like ifadesini kullanmayın.
....SIRANO='+edit1.text);....
şeklinde çözebilirsiniz.
....SIRANO='+edit1.text);....
şeklinde çözebilirsiniz.
Re: Query ile arama
iyide sorun şurada sırano integer bir alan , edit1.text string geldği için accses vialation hatası alıyorum o yuzden donuşturme nasıl yapacağım onu bilmiyorum
Re: Query ile arama
if BUL.SEC.ItemIndex=0 then begin
DATAMOD.QBUL.Close;
DATAMOD.QBUL.SQL.Clear;
DATAMOD.QBUL.SQL.Add('SELECT ADI,SIRANO FROM DATA');
DATAMOD.QBUL.SQL.Add('WHERE SIRANO like %
%');
DATAMOD.QBUL.parameters.parambyname('P').Value := ARAEDIT.Text;
DATAMOD.QBUL.ExecSQL;
DATAMOD.QBUL.Open;
ARAEDIT.Text:='';
DATAMOD.QBUL.Close;
DATAMOD.QBUL.SQL.Clear;
DATAMOD.QBUL.SQL.Add('SELECT ADI,SIRANO FROM DATA');
DATAMOD.QBUL.SQL.Add('WHERE SIRANO like %

DATAMOD.QBUL.parameters.parambyname('P').Value := ARAEDIT.Text;
DATAMOD.QBUL.ExecSQL;
DATAMOD.QBUL.Open;
ARAEDIT.Text:='';
amatör küme programcı 

Re: Query ile arama
access violation hatası tip uyumsuzluğunda değil, henüz oluşturulmamış bir nesneye erişmeye çalışıldığında alınan hatadır.Lord_Ares yazdı:iyide sorun şurada sırano integer bir alan , edit1.text string geldği için accses vialation hatası alıyorum o yuzden donuşturme nasıl yapacağım onu bilmiyorum
ayrıca TAdoQuery nin SQL property si Tstrings türünden olup Add metodu da parametre olarak string türünden değer alır. yani tablonuzdaki alanların tipi ne olursa olsun, SQL.Add('') metoduna parametre olarak string değer vermeniz gerekir....
dolayısıyla
Kod: Tümünü seç
DATAMOD.QBUL.SQL.Add('WHERE (SIRANO) like "%'+strtoint(ARAEDIT.Text)+'%"');
gibi bir kullanım hem gereksiz hem de hatalıdır...
bazen yükselmek için önce dibi görmek gerekir...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
