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

Delphi + BazePodataka

[es] :: Pascal / Delphi / Kylix :: Delphi + BazePodataka

[ Pregleda: 1993 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

markossss

Član broj: 215799
Poruke: 7
91.148.83.*



Profil

icon Delphi + BazePodataka01.10.2009. u 01:07 - pre 177 meseci
Radim aplikaciju koja je povezana sa bazom podataka.Spojio sam ta dva i sve radi super,medjutim imam par pitanja.


1.Da li postoji neka padajuca lista kao npr TDBComboBox,koju bih mogao da spojim sa bazom podataka,i da u toj padajucoj listi,se pojave polja iz baze podataka,znachi ne podaci,nego IMENA polja,npr ( ID_KUPCA,IME,PREZIME...) kako bi se korisniku omogucilo da sam izabere polja koja zeli da mu se prikazu ?
Probao sam to sa TDBComboBox-om ,ali on izlistava samo vrednosti polja,a ne njihova imena...

2.Imam polje KOLICINA i CENA,i trece polje UKUPNO ( kolicina x cena ),kojim kodom bih mogao da resim to da se automatski popuni polje UKUPNO,to jest da se pomnoze vrednosti polja KOlICINA I CENA i upise u trece polje,i ono kljuchno,da svaki put kada neko unese preko aplikacije novu kolicinu i cenu,da se automatski polje UKUPNO popuni mnozenjem unesenih novih vrednosti ?da li je uopsta tako nesto moguce ? i da li postoji mozda bolje resenje ?
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Delphi + BazePodataka01.10.2009. u 07:40 - pre 177 meseci
Citat:
markossss: Radim aplikaciju koja je povezana sa bazom podataka.Spojio sam ta dva i sve radi super,medjutim imam par pitanja.


1.Da li postoji neka padajuca lista kao npr TDBComboBox,koju bih mogao da spojim sa bazom podataka,i da u toj padajucoj listi,se pojave polja iz baze podataka,znachi ne podaci,nego IMENA polja,npr ( ID_KUPCA,IME,PREZIME...) kako bi se korisniku omogucilo da sam izabere polja koja zeli da mu se prikazu ?
Probao sam to sa TDBComboBox-om ,ali on izlistava samo vrednosti polja,a ne njihova imena...


Koristi TComboBox i sam ga popunjavaj. Pogledaj malo po forumu imaš sql upit za izvuči nazive polja određene tablice (nisi napisao koju bazu koristiš). A možeš i koristiti TDBComboBox, samo ti treba pravi upit.

Citat:

2.Imam polje KOLICINA i CENA,i trece polje UKUPNO ( kolicina x cena ),kojim kodom bih mogao da resim to da se automatski popuni polje UKUPNO,to jest da se pomnoze vrednosti polja KOlICINA I CENA i upise u trece polje,i ono kljuchno,da svaki put kada neko unese preko aplikacije novu kolicinu i cenu,da se automatski polje UKUPNO popuni mnozenjem unesenih novih vrednosti ?da li je uopsta tako nesto moguce ? i da li postoji mozda bolje resenje ?


Napravi trigger after insert/update. A imaš i calculated polje u bazi vjerojatno (nisi napisao koju bazu koristiš, pa ne znam).

[Ovu poruku je menjao captPicard dana 01.10.2009. u 09:00 GMT+1]
F
 
Odgovor na temu

franjo_tahi
Franjo Tahi
Zagreb

Član broj: 34712
Poruke: 399
*.adsl.net.t-com.hr.



+1 Profil

icon Re: Delphi + BazePodataka01.10.2009. u 12:52 - pre 177 meseci
Polje Ukupno, ako ga ne želiš sam ažurirati, najjednostavnije je kreirati u bazi kao "calkulate"

Ne znam koju bazu koristiš, u FB se definiran npr:

Code:

CREATE TABLE Tablica1 (
...
UKUPNO COMPUTED BY (KOLICINA * CIJENA)
...
)
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Delphi + BazePodataka01.10.2009. u 14:53 - pre 177 meseci
> 1.Da li postoji neka padajuca lista kao npr TDBComboBox,koju bih mogao da spojim sa bazom podataka,i da u toj padajucoj listi,se pojave
> polja iz baze podataka,znachi ne podaci,nego IMENA polja,npr ( ID_KUPCA,IME,PREZIME...) kako bi se korisniku omogucilo da sam izabere polja
> koja zeli da mu se prikazu ? Probao sam to sa TDBComboBox-om ,ali on izlistava samo vrednosti polja,a ne njihova imena...

Koristi običan TComboBox i pozovi:
Table.Fields.GetFieldNames(ComboBox.Items);

> 2.Imam polje KOLICINA i CENA,i trece polje UKUPNO ( kolicina x cena ),kojim kodom bih mogao da resim to da se automatski popuni polje UKUPNO,
> to jest da se pomnoze vrednosti polja KOlICINA I CENA i upise u trece polje,i ono kljuchno,da svaki put kada neko unese preko aplikacije
> novu kolicinu i cenu,da se automatski polje UKUPNO popuni mnozenjem unesenih novih vrednosti ?da li je uopsta tako nesto moguce ? i
> da li postoji mozda bolje resenje ?

Ako imaš polje UKUPNO u samoj bazi to je nepotrebno, bolje je da u Delphi napraviš calculated polje u datasetu i u OnCalcFields izračunaš ukupno. Ako ti je polje u bazi neophodno onda kada menjaš vrednosti količine i cene promeni odmah i ukupno.
 
Odgovor na temu

markossss

Član broj: 215799
Poruke: 7
91.148.83.*



Profil

icon Re: Delphi + BazePodataka02.10.2009. u 01:27 - pre 177 meseci
Hvala vam ljudi na pomoci,uspeo sam.

Medjutim,sada me muci drugi problem.
Radim sa Microsoft Acess Bazom ( .mdb )


Ovako :

Imam jedno polje TEdit,imam jedan TButton. imam TQuery i imam TDataSource. i imam jedno 5-6 TDBGrid

Ideja mi je sledeca.

Kada korisnik unese ime firme u TEdit,hocu da se u prvi TDBGrid napise naziv firme,u drugi da se napise ime i prezime vlasnika,u treci TDBGrid telefon,cetvrt opis....itd...

Dugmetu sam dodao ovaj kod :

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add ('Select naziv_firme, ime_prezime_vlasnika,telefon,opis ');
Query1.SQL.Add ('FROM primer.mdb');
Query1.SQL.Add ('WHERE ' + Edit1.Text);
Query1.RequestLive := true;
Query1.Open;


ZATIM sam za TQuery stavio DATAbase NAME : MS ACess Database
za Data Source ,sam stavio dataSet : Query1


i naravno povezao sam TDBGrid ( za primer sam uzeo sam jedan od njih) sa TDAtaSource ( DataSource : DataSource1 )


Medjutim ovako nesto nece da radi,kada ukucam bilo koje ime firme,javlja mi razlicite greske,pokusao sam da u TQueriju ostavim prazno DATAbase NAME ,nece ni to.

ALI kada uradim ovo,sve normalno radi

Query1.SQL.Clear;
Query1.SQL.Add ('Select EmpNo, FirstName, LastName');
Query1.SQL.Add ('FROM Employee.db');
Query1.SQL.Add ('WHERE Salary > ' + Edit1.Text);
Query1.RequestLive := true;
Query1.Open; {open query + display data}



Naravo,primenim DATAbase NAME u DBDEMOS.

Sta radim pogresno ? zasto nece da radi preko MS Acess DataBAse ?
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Delphi + BazePodataka02.10.2009. u 06:07 - pre 177 meseci
> Query1.SQL.Add ('Select naziv_firme, ime_prezime_vlasnika,telefon,opis ');
> Query1.SQL.Add ('FROM primer.mdb');
> Query1.SQL.Add ('WHERE ' + Edit1.Text);

Nemaš naziv polja po kome pretražuješ dakle:
...Add('WHERE NAZIV_FIRME = ' + QuotedStr(Trim(Edit1.Text));
ili možda
...Add('WHERE NAZIV_FIRME LIKE ' + QuotedStr(Trim(Edit1.Text) + '%');
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Delphi + BazePodataka02.10.2009. u 07:50 - pre 177 meseci
Code:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add ('Select naziv_firme, ime_prezime_vlasnika,telefon,opis ');
Query1.SQL.Add ('FROM primer.mdb');
Query1.SQL.Add ('WHERE ' + Edit1.Text);
Query1.RequestLive := true;
Query1.Open;


Šta ti je ovo primer.mdb?
F
 
Odgovor na temu

markossss

Član broj: 215799
Poruke: 7
91.148.83.*



Profil

icon Re: Delphi + BazePodataka02.10.2009. u 10:56 - pre 177 meseci
primer.mdb je naziv moje baze.

kada se tu stavi employee.db ,i DBDEMOS,sve radi super.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Delphi + BazePodataka

[ Pregleda: 1993 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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