çalışma anında sql kodu çalıştırmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
hacikisi
Üye
Mesajlar: 64
Kayıt: 24 Şub 2004 07:29
Konum: Gaziantep

çalışma anında sql kodu çalıştırmak

Mesaj gönderen hacikisi »

query1.databasename:='c:\baksil\data';
query1.sql.clear;
Query1.active:=false;
Query1.sql.add('select birimi, cinsi, cpu,tahsiseden from bilgisayar');
Query1.sql.add('order by birimi');
query1.open;
query1.active:=true;


kodları böyle butonun clicki ile çalıştırınca sorun yok ancak aşağıdaki gibi
bir butona ekleyip

runtime anında forumdaki memo1 e yazıp kodları çalıştırmak istiyorum.
hata veriyor. çözüm???????

query1.databasename:='c:\baksil\data';
query1.sql.clear;
Query1.active:=false;
Query1.sql.add('select birimi, cinsi, cpu,tahsiseden, count (*) from bilgisayar');

Query1.sql.add('group by birimi, cinsi, cpu,tahsiseden');
Query1.sql.add('order by birimi');
query1.open;
query1.active:=true;


grup yapmak istediğimde hata veriyor. nasıl çözebilirim.
kodlarımı bir butona değilde çalışma anında kendim memoya yazarak işletmek istiyorum.
Siz İman Etmedikçe Cennete Giremezsiniz. Birbirinizi Sevmedikçede İman Etmiş Olamazsınız.

Hz.Muhammed (S.A.V.)
Resim
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Re: çalışma anında sql kodu çalıştırmak

Mesaj gönderen Kuri_YJ »

hacikisi yazdı:query1.databasename:='c:\baksil\data';
query1.open;
query1.active:=true;
...
Query1.Open demek Zaten Query1.Active demek ile aynı :)

Ayrıca, Hangi veri tabanını kullanıyorsunuz ve size söylediği hata tam olarak nedir?

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
mucar
Kıdemli Üye
Mesajlar: 247
Kayıt: 17 May 2005 01:14

Mesaj gönderen mucar »

Merhaba,

Kod: Tümünü seç

procedure Tform1.Memo1Change(Sender: TObject);
begin

while Pos('delete',memo1.Lines.Text)>0 do
begin
Memo1.Lines.Text:='';
MessageDlg('Delete sorgularına izin yok!',mtInformation,[mbok],0);
end;

while Pos('insert',memo1.Lines.Text)>0 do
begin
Memo1.Lines.Text:='';
MessageDlg('Insert sorgularına izin yok!',mtInformation,[mbok],0);
end;

while Pos('create',memo1.Lines.Text)>0 do
begin
Memo1.Lines.Text:='';
MessageDlg('Create sorgularına izin yok!',mtInformation,[mbok],0);
end;

while Pos('update',memo1.Lines.Text)>0 do
begin
Memo1.Lines.Text:='';
MessageDlg('Update sorgularına izin yok!',mtInformation,[mbok],0);
end;

try
begin
    with query1 do
    begin
      close;
      SQL.Clear;
      SQL:=Memo1.Lines;
      open;
    end;
end
except on exception do
begin
end;
end;

end;
Memodan Sql kodunu yukarıdaki girdirebilirsiniz. Ayrıca bazı SQL kelimelerini kullanmamaları için de sınırlayabilirsiniz. 2. yazdğınız SQL cümlesinde bir hata görünmüyor. Hata nedir?
"Evine bakmaktan aciz olan; ilerici, üç kıtaya hükmeden ecdadın mı gerici?"
Cevapla