Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sql iskazi u Delphiju

[es] :: Pascal / Delphi / Kylix :: Sql iskazi u Delphiju

[ Pregleda: 2389 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

lucky666

Član broj: 183847
Poruke: 31
77.46.165.*



Profil

icon Sql iskazi u Delphiju08.06.2008. u 17:31 - pre 193 meseci
Ovako!
Povezao sam se sa dbdemos bazom (dobija se uz delphi) tabela country.db.
Da bih izdvoio drzavu pod odredjenim imenom napisao sam sledeci kod
Query1.Sql:='Select * fromm country where Name:='+Edit1.Text;
Query1.Open;
Prijavljuje mi gresku u sintaksi da nisu kompatibilni tipovi TString i String
Kako da resim problem?
Kako da dobijem sve tabele za zeljenu bazu?
npr.
za bazu dbdemos da se dobije country.db,emplooyee.db,...sve tabele iz date baze da se "napuni"combobox tim tabelama,a kasnije klikom na neku tabelu da se u drugom comboboxu pojave nazivi kolona tih tabela?
POMOC!HVALA!
 
Odgovor na temu

Vladica Savić
Software Developer
Toronto, Canada

Član broj: 26699
Poruke: 654
Via: [es] mailing liste



+5 Profil

icon Re: Sql iskazi u Delphiju08.06.2008. u 17:51 - pre 193 meseci
A ovako?
Code:

...
// zatvoris ako vec postoji neki query
Query1.Close;
// iscistis i dodas nov
Query1.SQL.Clear;
Query1.SQL.Add ('Select * FROM country WHERE Name = ' + Edit1.Text);
Query1.RequestLive := true;
Query1.Open; 
...


Jel hoce sad?
 
Odgovor na temu

lucky666

Član broj: 183847
Poruke: 31
79.101.164.*



Profil

icon Re: Sql iskazi u Delphiju08.06.2008. u 20:25 - pre 193 meseci
Pokazuje sistemsku gresku.
Kod koji si napisao stavio sam u proceduru button1click i pokazuje sistemsku gresku pri njegovom izvrsavnju.
Kod je OOK ,ali sistem nije baro.
 
Odgovor na temu

Vladica Savić
Software Developer
Toronto, Canada

Član broj: 26699
Poruke: 654
Via: [es] mailing liste



+5 Profil

icon Re: Sql iskazi u Delphiju08.06.2008. u 22:37 - pre 193 meseci
Postavi sta tacno pojavljuje ko gresku.
 
Odgovor na temu

lucky666

Član broj: 183847
Poruke: 31
79.101.75.*



Profil

icon Re: Sql iskazi u Delphiju08.06.2008. u 22:51 - pre 193 meseci
project.Project1.exe raised exception class EDBEngineError with message"Invvalide field name Canada'.Process stopped.Use step or run to continue.
Kad sam u edit napisao Canada,sto je ime jedne od drzava u tabeli.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Sql iskazi u Delphiju09.06.2008. u 09:09 - pre 193 meseci
> project.Project1.exe raised exception class EDBEngineError with message"Invvalide field name Canada'.Process stopped.Use step or run to continue.
> Kad sam u edit napisao Canada,sto je ime jedne od drzava u tabeli.

Kada se u SQL upitu navodi konstanta (Kanada) ona mora biti pod navodnicima ili se moraju koristiti parametri.
Dakle,

Code:

  Query1.SQL.Add ('Select * FROM country WHERE Name = ' + QuotedStr(Edit1.Text)); 
ili 
  Query1.SQL.Add ('Select * FROM country WHERE Name = :Zemlja');
  Query1.Prepare;
  Query1.Params[0].AsString := Edit1.Text;

 
Odgovor na temu

lucky666

Član broj: 183847
Poruke: 31
79.101.241.*



Profil

icon Re: Sql iskazi u Delphiju09.06.2008. u 12:50 - pre 193 meseci
Igore!
a zemlja se stavi kao parametar[0] u query1?
 
Odgovor na temu

lucky666

Član broj: 183847
Poruke: 31
79.101.241.*



Profil

icon Re: Sql iskazi u Delphiju09.06.2008. u 12:53 - pre 193 meseci
A kako da resim drugi deo mog problema?
Kao da se u combo dobije spisak tabela iz baze?
Kako da se dobiju svi aliansi instalirani na sisitemu?
 
Odgovor na temu

lucky666

Član broj: 183847
Poruke: 31
79.101.241.*



Profil

icon Re: Sql iskazi u Delphiju09.06.2008. u 13:01 - pre 193 meseci
Hvala Igore,hvala Vladice!
Dalke ovaj kod izdvaja zemlje po imenima
[code]
with Query1 do
begin
Close;
SQL.Clear;
sql.Add('select *from country where Name='+QuotedStr(Edit1.Text));
RequestLive:=true;
Query1.Open;
end;
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Sql iskazi u Delphiju09.06.2008. u 14:08 - pre 193 meseci
> Kao da se u combo dobije spisak tabela iz baze?

Možeš koristiti TDataBase.GetTableNames. Ako imaš aktivan (otvoren) dataset onda samo pozoveš DataSet.DataBase.GetTableNames ili postaviš posebnu TDatabase komponentu, podesiš alias, name, povežeš je i onda pozoveš metodu.

> Kako da se dobiju svi aliansi instalirani na sisitemu?

Pomoću TSession.GetAliasNames, slično je kao i za GetTableNames, posebna TSession komponenta ili povezan Dataset.Session.

> a zemlja se stavi kao parametar[0] u query1?

Da, pročitaj help za Params property dataseta i isprobavaj, tako se najbolje uči.

BTW u poslednjoj poruci si zaboravio da dodaš završni [/code].
 
Odgovor na temu

lucky666

Član broj: 183847
Poruke: 31
79.101.163.*



Profil

icon Re: Sql iskazi u Delphiju09.06.2008. u 21:08 - pre 193 meseci
Igore!

Generalno mi je jasno,ali ne znam to da uradim,
Kako da povezem punjenje combo objekta sa pronadjenim alijansima(tabelama)......?
aj mi malo pojsni
 
Odgovor na temu

lucky666

Član broj: 183847
Poruke: 31
79.101.163.*



Profil

icon Re: Sql iskazi u Delphiju09.06.2008. u 21:35 - pre 193 meseci
Uspelo mi je!
HVALA IGORE!
evo mog nacina
Code:


procedure TForm1.FormCreate(Sender: TObject);
begin
Session.GetAliasNames(ComboBox1.Items);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
Session.GetTableNames(ComboBox1.Text,'*.*',true,true,ComboBox2.Items);
end;

HVALA!
Ukapirao sam nesto oko primene sqla u Delphiju!:d
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Sql iskazi u Delphiju

[ Pregleda: 2389 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.