sau Inregistrare
  
Pagina 1 din 1
  • Nu poti crea un subiect nou
  • Nu puteti raspunde pe acest topic

Interogarea unei baze de date in Delphi Evaluare topic: - - - - -

#1 Utilizator offline   Constantin Marin 

  • Boboc
  • Pip
  • Grup: Full Members
  • Mesaje: 43
  • Inregistrat: 25-January 07

Scris 01 March 2007 - 09:59 AM

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 ?
0

#2 Utilizator offline   radu84 

  • Trandafir
  • PipPipPipPip
  • Grup: Full Members
  • Mesaje: 360
  • Inregistrat: 07-February 07

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
0

#3 Utilizator offline   cdobri 

  • Ghiocel
  • Grup: Members
  • Mesaje: 1
  • Inregistrat: 24-March 07

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]);
0

#4 Utilizator offline   radu84 

  • Trandafir
  • PipPipPipPip
  • Grup: Full Members
  • Mesaje: 360
  • Inregistrat: 07-February 07

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
0

Reclama



Impartaseste acest subiect:


Pagina 1 din 1
  • Nu poti crea un subiect nou
  • Nu puteti raspunde pe acest topic


Subiecte similare Collapse

  Topic Deschis de Replici Vizualizari
Replici noi Functii windows in C++
In asteptarea unor raspunsuri,tutoriale,indrumari...
AnaKonD  5 4.256
Replici noi emacs
parerea ta
505  2 4.134
Replici noi <span> onclick si innerHTML bla_bla  1 1.465
Replici noi Replace.java
cine ma poate ajuta
505  1 3.757
Replici noi Medii dezvoltare aplicatii Zolysoftsolutions  2 1.936