Pe un Form am:
Edit1 (care semnifica un nr. de identificare al comenzii),
Edit2 (care semnifica denumirea comenzii), mai am un
Table1 ,DtaSurce1 cu care am legat la o baza de date DBGrid1.
Baza de date este ctreata in Paradox.
Vreau cind introduc in Edit1 nr.de indentificare al comenzii
si in Edit2 denumirea comenzii sa-mi afiseze in DBGrid1 numai
linia care corespunde cu Edit1 si Edit2.
Coloanele din Table1 sunt :
Nr. identificare
Denumire comanda
Nume
Prenume
Compania
Adresa
etc.
Cum fac ci in DBGrid1 sa-mi apara numai rindul specificat de
mine prin Edit1 si Edit2 ?
Pagina 1 din 1
Interogarea unei baze de date in Delphi
#2
Scris 01 March 2007 - 11:52 AM
nu am lucrat deloc cu paradox insa aici ai un exemplu de cum se ia dintr-o tabela paradox informatiile si se exporta intr-un xml: http://delphi.about....t/uc050601a.htm
in principiu ca sa realizezi ceea ce vrei iti trebuie un query in care sa dai o comanda de selectie asupra tabelei care vrei tu. grid-ul se leaga de query iar cand query-ul va popula automat grid-ul.
toate cele bune
in principiu ca sa realizezi ceea ce vrei iti trebuie un query in care sa dai o comanda de selectie asupra tabelei care vrei tu. grid-ul se leaga de query iar cand query-ul va popula automat grid-ul.
toate cele bune
#3
Scris 24 March 2007 - 07:59 AM
Pentru a-ti afisa numai inregistrarile din tabela care corespund unor anumite criterii trebui sa folosesti componenta Query.
De fapt, trebuie sa folosesti o interogare cu parametrii (parameterized query).
In proprietatea SQL a interogarii scrii:
SELECT * FROM NUME_TABELA
WHERE CAMP1=:PARAMETRU1 AND CAMP2=:PARAMETRU2 (Atentie! Sa nu uiti cele 2 puncte dinaintea denumirii parametrului)
Mergi in proprietatea PARAMS a interogarii si stabileste tipul de data (data type) al fiecarui parametru (de ex: ftString).
Mergi in proprietatea ACTIVE a interogarii si stabileste TRUE.
Pune un buton pe form si in evenimentul OnClick al acestuia scrie:
Query1.Close;
Query1.ParamByName('parametru1').AsString:=edit1.Text;
Query1.ParamByName('parametru2').AsString:=edit2.Text;
Query1.Open;
Daca nu doresti sa folosesti componenta query atunci poti sa lucrezi cu metoda LOCATE a tabelei dar aceasta nu iti va
returna NUMAI acea inregistrare care corespunde cerintelor ci te va pozitiona in dreptul randului respectiv.
Table1.Locate('camp1;camp2',vararrayof([edit1.text,edit2.text]),[LoCaseInsensitive]);
De fapt, trebuie sa folosesti o interogare cu parametrii (parameterized query).
In proprietatea SQL a interogarii scrii:
SELECT * FROM NUME_TABELA
WHERE CAMP1=:PARAMETRU1 AND CAMP2=:PARAMETRU2 (Atentie! Sa nu uiti cele 2 puncte dinaintea denumirii parametrului)
Mergi in proprietatea PARAMS a interogarii si stabileste tipul de data (data type) al fiecarui parametru (de ex: ftString).
Mergi in proprietatea ACTIVE a interogarii si stabileste TRUE.
Pune un buton pe form si in evenimentul OnClick al acestuia scrie:
Query1.Close;
Query1.ParamByName('parametru1').AsString:=edit1.Text;
Query1.ParamByName('parametru2').AsString:=edit2.Text;
Query1.Open;
Daca nu doresti sa folosesti componenta query atunci poti sa lucrezi cu metoda LOCATE a tabelei dar aceasta nu iti va
returna NUMAI acea inregistrare care corespunde cerintelor ci te va pozitiona in dreptul randului respectiv.
Table1.Locate('camp1;camp2',vararrayof([edit1.text,edit2.text]),[LoCaseInsensitive]);
#4
Scris 24 March 2007 - 03:50 PM
SELECT * FROM NUME_TABELA
WHERE CAMP1=:PARAMETRU1 AND CAMP2=:PARAMETRU2 (Atentie! Sa nu uiti cele 2 puncte dinaintea denumirii parametrului)
nu am lucrat cu paradox, insa paradoxul merge pe sintaxa SQL?
Query1.Close;
Query1.ParamByName('parametru1').AsString:=edit1.Text;
Query1.ParamByName('parametru2').AsString:=edit2.Text;
Query1.Open;
1)aici s-ar putea sa apara probleme daca nu se sterg spatiile de la inceput si sfarsit.
2)parametru 1 ar trebui sa fie de tip intreg (Edit1 (care semnifica un nr. de identificare al comenzii))
toate cele bune
WHERE CAMP1=:PARAMETRU1 AND CAMP2=:PARAMETRU2 (Atentie! Sa nu uiti cele 2 puncte dinaintea denumirii parametrului)
nu am lucrat cu paradox, insa paradoxul merge pe sintaxa SQL?
Query1.Close;
Query1.ParamByName('parametru1').AsString:=edit1.Text;
Query1.ParamByName('parametru2').AsString:=edit2.Text;
Query1.Open;
1)aici s-ar putea sa apara probleme daca nu se sterg spatiile de la inceput si sfarsit.
2)parametru 1 ar trebui sa fie de tip intreg (Edit1 (care semnifica un nr. de identificare al comenzii))
toate cele bune
Impartaseste acest subiect:
Pagina 1 din 1
Subiecte similare
| Topic | Deschis de | Replici | Vizualizari | |
|---|---|---|---|---|
|
Functii windows in C++
In asteptarea unor raspunsuri,tutoriale,indrumari... |
AnaKonD | 5 | 4.256 |
|
emacs
parerea ta |
505 | 2 | 4.134 |
|
<span> onclick si innerHTML | bla_bla | 1 | 1.465 |
|
Replace.java
cine ma poate ajuta |
505 | 1 | 3.757 |
|
Medii dezvoltare aplicatii | Zolysoftsolutions | 2 | 1.936 |
Contact
Facebook
Twitter
RSS












