Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 11 odgovora
  • 3.578 pregleda

Najnovija ↓

Sql iskazi u Delphiju 08.06.2008. u 18:31 · pre 224 meseca #1
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!
Re: Sql iskazi u Delphiju 08.06.2008. u 18:51 · pre 224 meseca #2
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?
Potpis

My IT View Of Life-BrLOG-Delphi for PHP


» LinkedIn
Re: Sql iskazi u Delphiju 08.06.2008. u 21:25 · pre 224 meseca #3
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.
Re: Sql iskazi u Delphiju 08.06.2008. u 23:51 · pre 224 meseca #5
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.
Re: Sql iskazi u Delphiju 09.06.2008. u 10:09 · pre 223 meseca #6
> 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;
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Sql iskazi u Delphiju 09.06.2008. u 13:53 · pre 223 meseca #8
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?
Re: Sql iskazi u Delphiju 09.06.2008. u 14:01 · pre 223 meseca #9
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;
Re: Sql iskazi u Delphiju 09.06.2008. u 15:08 · pre 223 meseca #10
> 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].
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Sql iskazi u Delphiju 09.06.2008. u 22:08 · pre 223 meseca #11
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:)
Re: Sql iskazi u Delphiju 09.06.2008. u 22:35 · pre 223 meseca #12
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:)
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme