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

Delphi Aplikacije i SQL upiti?

[es] :: Pascal / Delphi / Kylix :: Delphi Aplikacije i SQL upiti?

[ Pregleda: 6956 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.neobee.net.



Profil

icon Delphi Aplikacije i SQL upiti?22.12.2005. u 10:43 - pre 189 meseci
Napravio sam BP u SQL Server-u 2000. Znaci, ima vise tabela u oviru nje.
Povezao sam bazu sa Delphi Aplikacijom putem ADO tehnologije i to sve lepo radi.
Na osnovu ADO tutorijala sa sajta, resio sam neke probleme.
E, sad, hteo bih da nad tabelama a putem Delphi-ja izvodim SQL upite, tipa:

SELECT *
FROM
WHERE

a kasnije i nesto slozenije.

Kako se to u Delphi okruzenju izvodi? Molim za detaljan odgovor zato sto
nisam nikad radio sa SQL upitima...

P.S. SQL naredbe u okviru samog SQL Server-a 2000 daju mi zeljeno i hteo bih to
isto iz Delphi Aplikacije


Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

Vic
Error974
BI&SE
Beograd

Član broj: 16118
Poruke: 396
*.dedinje.co.yu.



+49 Profil

icon Re: Delphi Aplikacije i SQL upiti?22.12.2005. u 12:14 - pre 189 meseci
Koristi ado query, pogledaj help u Delphiju
ERROR974
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.neobee.net.



Profil

icon Re: Delphi Aplikacije i SQL upiti?22.12.2005. u 16:44 - pre 189 meseci
Da, znam da postoji ADOQuery ali ne znam kako to sve
da povezem kao sa ADOTable i vrsim obradu?!
Moze neko objasnjenje, detaljnije o tome?
Sta sve treba postaviti na formu, povezati sa dbgrid-om?

Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

DeYo
Dejan Vukmirovic
developer @ Mogul
Pozarevac/Bgd/Stockholm

Član broj: 36771
Poruke: 85
212.200.120.*

Sajt: www.linkedin.com/in/dejan..


Profil

icon Re: Delphi Aplikacije i SQL upiti?23.12.2005. u 14:00 - pre 189 meseci
imas kompletan ADO tutorijal na:
http://delphi.about.com/od/database/a/databasecourse.htm

konkretno, povezivanje ADOQuery-ja sa ostalim komponentama je objasnjeno u chapter 7:
http://delphi.about.com/od/database/l/aa050101a.htm

[Ovu poruku je menjao DeYo dana 23.12.2005. u 15:01 GMT+1]
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.neobee.net.



Profil

icon Re: Delphi Aplikacije i SQL upiti?24.12.2005. u 16:58 - pre 189 meseci
Hvala, pomoglo mi je da uradim sta sam zeleo!!!

with ADOQuery1 do begin
Close;
SQL.Text := 'SELECT OilName FROM Oils ';
Open;

Ispisao sam ovaj kod i on mi prikaze celu tabelu, e sad ja bi hteo da mi se iz OilName
isfiltrira Ime koje sam uneo u Edit1.Text, probao sam sledece, al nece:


with ADOQuery1 do begin
Close;
SQL.Text := 'SELECT OilName FROM Oils '+ Edit1.Text;
Open;

U cemu je problem?
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

dekys
Dejan Stevanović

Član broj: 464
Poruke: 104



+1 Profil

icon Re: Delphi Aplikacije i SQL upiti?24.12.2005. u 18:23 - pre 189 meseci
with ADOQuery1 do
begin
Close;
SQL.Text := 'SELECT OilName FROM Oils where OilName ='+ Edit1.Text;
Open;

mozda je umesto znaka jednakosti 'LIKE' ne secam se... tj. koristim mySQL server

Ako ti i dalje ne radi onda zahteva da edit text preneses kao tekst izmedju '' pa onda koristi QuotedStr
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.neobee.net.



Profil

icon Re: Delphi Aplikacije i SQL upiti?24.12.2005. u 18:44 - pre 189 meseci
Nije mi uspelo:

with ADOQuery1 do
begin
Close;
SQL.Text := 'SELECT OilName FROM Oils where OilName ='+ Edit1.Text;
Open;

Ni sa LIKE?!

Sta si mislio pod:
"Ako ti i dalje ne radi onda zahteva da edit text preneses kao tekst izmedju '' pa onda koristi QuotedStr?!

Dalje, sta mi je interesantno:

Povezao sam Delphi Aplikaciju sa SQL Serverom 2000 i odradio neke upite.
E, sad, pokusao sam da isfiltriram ali ne ide. Kod:

with ADOQuery1 do begin
Close;
SQL.Text := 'SELECT * FROM Ime Tabele WHERE Ime Polja LIKE "%'+deo_reci+'%"';
Open;
end;

Ovo je sve ok ali nesto nije u redu sa sintaksom, odnosno "%'+deo_reci+'%" ovo deo_reci
uvek bude greska, sve ovo je plave boje ali deo_reci je crne?!
Sta je problem?

Drugo, hteo bih postaviti jedan Edit1.Text i da se u njega unese jedno slovo i da se
isfiltriraju sva imena na to slovo (koja pocinju na to slovo)?





[Ovu poruku je menjao loshmiscg dana 24.12.2005. u 20:09 GMT+1]
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

dekys
Dejan Stevanović

Član broj: 464
Poruke: 104



+1 Profil

icon Re: Delphi Aplikacije i SQL upiti?25.12.2005. u 00:48 - pre 189 meseci
Code:
   SQL.Add('SELECT DUZINA, REC, OPIS');
      SQL.Add('FROM Enigma');
      SQL.Add('WHERE (REC ="' + Form1.Edit2.Text  + '")');



ili

Code:

      SQL.Add('SELECT DUZINA, REC, OPIS');
      SQL.Add('FROM  Enigma');
      SQL.Add('WHERE   (DUZINA =' +  IntToStr(SpinEdit1.Value) + ')');
      SQL.Add('AND  (REC LIKE' + chr(39)+Form2.Edit1.Text+chr(39)+ ')');
      SQL.Add('ORDER BY REC');


Evo ovako sam ja to nekada negde uradio!!!

Sada koristim parametrizirane upite. Tebi ce ovo biti dovoljno!

Citav problem je da znacina apostrofima tj. chr(39)


sto se tice ' (koja pocinju na to slovo)?' koristio sam

Code:
  SQL.Add('WHERE REC LIKE ' + chr(39) + Form5.Edit1.Text +'%' + chr(39));


[Ovu poruku je menjao dekys dana 25.12.2005. u 01:50 GMT+1]
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.ptt.yu.



Profil

icon Re: Delphi Aplikacije i SQL upiti?25.12.2005. u 02:33 - pre 189 meseci
Uneo sam ovaj kod:

procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Add('SELECT OilName, LatinName');
ADOQuery1.SQL.Add('FROM Oils');
ADOQuery1.SQL.Add('WHERE OilName LIKE ' + chr(39) + Form1.Edit1.Text +'%' + chr(39));
ADOQuery1.Open;
end;

I nista, samo prikaze DBGrid1 sa poljima tabele ali prazno?!

Druga procedura:

procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.SQL.Add('SELECT OilName, LatinName');
ADOQuery1.SQL.Add('FROM Oils');
ADOQuery1.SQL.Add('WHERE (OilName ="' + Form1.Edit1.Text + '")');

end;


I nista, samo prikaze DBGrid1 sa poljima tabele ali prazno?!

Da li to ima neke veze kako su polja indeksirana u SQL Serveru 2000? ( primarni index je OilID,
a ostala dva indexa su OilName i LatinName)

Procedura pokazuje kao da taj podatak koji je unet u bazu ne postoji zato je DBGrid prazan, a u stvari je tu
ili nije polje dobro indeksirano pa ne moze vrsiti pretragu po tom polju?!
Probao sam i sa OilID koji je indeksiran kao primarni i opet isto?!

Kod za OilID(primarni kljuc):

procedure TForm1.Button3Click(Sender: TObject);
begin
ADOQuery1.SQL.Add('SELECT OilID, OilName, LatinName');
ADOQuery1.SQL.Add('FROM Oils');
ADOQuery1.SQL.Add('WHERE (OilID ="' + Form1.Edit1.Text + '")');

end;

A kad ubacim jos i ADOQuery1.Open, kod:

ADOQuery1.SQL.Add('SELECT OilName, LatinName');
ADOQuery1.SQL.Add('FROM Oils');
ADOQuery1.SQL.Add('WHERE (OilName ="' + Form1.Edit1.Text + '")');
ADOQuery1.Open;

izbaci gresku : Invalid Column Name 'neki naziv'?! - a "neki naziv" je upisan
u tu kolonu.

[Ovu poruku je menjao loshmiscg dana 25.12.2005. u 03:51 GMT+1]
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

Vic
Error974
BI&SE
Beograd

Član broj: 16118
Poruke: 396
*.236.eunet.yu.



+49 Profil

icon Re: Delphi Aplikacije i SQL upiti?25.12.2005. u 16:18 - pre 189 meseci
Proveri setovanja za SQL server u ODBC. Mislim da bi trebalo da cekiras opciju use Ansi quoted strings.
ERROR974
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.neobee.net.



Profil

icon Re: Delphi Aplikacije i SQL upiti?25.12.2005. u 16:59 - pre 189 meseci
Citat:
Vic: Proveri setovanja za SQL server u ODBC. Mislim da bi trebalo da cekiras opciju use Ansi quoted strings.


Mozes li malo da mi pojasnis ovo sto si napisao, odnosno da mi objasnis kako to
da izvedem?
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

dekys
Dejan Stevanović

Član broj: 464
Poruke: 104



+1 Profil

icon Re: Delphi Aplikacije i SQL upiti?25.12.2005. u 23:19 - pre 189 meseci
Pa svugde moras da uneses ADOQuery1.Open;
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.neobee.net.



Profil

icon Re: Delphi Aplikacije i SQL upiti?26.12.2005. u 00:01 - pre 189 meseci
Unesem ali ni tad nece da funkcionise?!

Code:
 ADOQuery1.SQL.Add('SELECT OilName, LatinName');
         ADOQuery1.SQL.Add('FROM Oils');
         ADOQuery1.SQL.Add('WHERE (OilName ="' + Form1.Edit1.Text  + '")');
         ADOQuery1.Open;


Znaci u Edit1.Text je unesena neka vrednost iz polja OilName, znaci ta vrednost postoji u kolono OilName,
i pritiskom na dugme (OnClick) izbaci se greska:

"Invalid column name "trazena_vrednost""

[Ovu poruku je menjao loshmiscg dana 26.12.2005. u 11:24 GMT+1]
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.neobee.net.



Profil

icon Re: Delphi Aplikacije i SQL upiti?30.12.2005. u 13:12 - pre 189 meseci
Zar je moguce da mi niko ne moze pomoci resiti problem?!
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

dekys
Dejan Stevanović

Član broj: 464
Poruke: 104



+1 Profil

icon Re: Delphi Aplikacije i SQL upiti?30.12.2005. u 21:19 - pre 189 meseci
pa mozes i sam da zakljucis u cemu je problem
"Invalid column name "trazena_vrednost""!!!!!!!!!!!!!!
Verovatno imam u komponenti ADOQuery1 u SQL vec unesen neki upit tako da ti on pokusava odraditi i taj upit i onaj koji ti iz coda dodas zato je potrebno da ga predhodno ocistis

Code:
 ADOQuery1.Clear;
ADOQuery1.SQL.Add('SELECT OilName, LatinName');         
ADOQuery1.SQL.Add('FROM Oils');         
ADOQuery1.SQL.Add('WHERE (OilName ="' + Form1.Edit1.Text  + '")');         ADOQuery1.Open;
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.neobee.net.



Profil

icon Re: Delphi Aplikacije i SQL upiti?03.01.2006. u 13:02 - pre 189 meseci
Code:
ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add('SELECT OilName');
        ADOQuery1.SQL.Add('FROM Oils');
        ADOQuery1.SQL.Add('WHERE (OilName ="' + Form1.Edit1.Text  + '")');
        ADOQuery1.Open;


Ista greska : "Invalid column name 'naziv'"!?
Da li treba ADOQuery1 da se stavi u insert mode ili edit mode?!
Ili tako neka caka!?
Polje po kojem ovde zelim vrsiti pretragu je indeksirano i kad
koristim:

Code:
ADOTable1.Filter := 'OilName = ' + QuotedStr(Edit1.Text);
         ADOTable1.Filtered := true;
         if Edit1.Text = '' then
            ShowMessage('Unesite OilName po kojem se vrsi filtriranje!');
            Edit1.Clear;


i sve lepo odradi?! Gde gresim u Query?

[Ovu poruku je menjao loshmiscg dana 03.01.2006. u 14:03 GMT+1]
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.neobee.net.



Profil

icon Re: Delphi Aplikacije i SQL upiti?04.01.2006. u 11:57 - pre 189 meseci
Ljudi, moze li neko?
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

marcha
Nikola Marcic
Beograd/Leskovac

Član broj: 6454
Poruke: 108
*.230.eunet.yu.

ICQ: 156892888


+1 Profil

icon Re: Delphi Aplikacije i SQL upiti?05.01.2006. u 11:47 - pre 189 meseci

with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT OilName');
SQL.Add('FROM Oils');
SQL.Add('WHERE (OilName =' + QuotedStr(Edit1.Text) + ')');
Open;
end
Marcha
-----------------------------------
Pretpostavka je majka zajeba.
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.neobee.net.



Profil

icon Re: Delphi Aplikacije i SQL upiti?05.01.2006. u 14:56 - pre 189 meseci
To mi je trebalo...
Hvala ti druze...

Idemo dalje:

1) Sad bi hteo da prilikom unosa slova npr. B u Edit1.Text da izlista ( isfiltrira ) sva
imena u koloni OilName koji pocinju na to slovo?!

2) da se pretraga izvrsi po dva polja ( Edit1.Text i Edit2.Text),znaci da se
unesu 2 vrednosti za filtriranje, slicno ovome samo za dve kolone:

Code:
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT OilName');
SQL.Add('FROM Oils');
SQL.Add('WHERE (OilName =' + QuotedStr(Edit1.Text) + ')');
Open;
end


na osnovu polja OilName i LatinName, na primer?!

Moze li?



[Ovu poruku je menjao loshmiscg dana 07.01.2006. u 15:24 GMT+1]
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Delphi Aplikacije i SQL upiti?

[ Pregleda: 6956 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

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