Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [Delphi] Popolare un DBGrid con i risultati di una ADOQuery

    Ciao, sto usando i componenti ADO in delphi per usare un database access. Per il momento riesco a interagire con il database usando una TADOConnection e un TADOCommand. Ora ho la necessità di usare TADOQuery per mostrare i risultati di una query SELECT in un DBGrid.
    Dopo aver fatto:
    codice:
      dbQuery.SQL.Text := 'SELECT * FROM MainTable;';
      dbQuery.ExecSQL;
    non so però come popolare il DbGrid con i risultati della query...

    Come si fa??

    Grazie 1000!

  2. #2
    Per rendere disponibili i dati di una select devi usare il metodo "open" e non
    "execSQL", da usare invece x istruzioni DDL oppure di insert e update.
    Cmq secondo me ti conviene dare un'occhiata all'help dove sicuramente trovi spiegazione a queste cosette basilari

    Ciao

  3. #3
    Ok, sono riuscito a ottenere i risultati che voglio dalla dbQuery usando un ciclo tipo:
    codice:
    while not dbQuery.EOF do
      begin
      xxxxx := dbQuery.FieldByName('xxx').AsString;
      gbQuery.Next;
      end;
    come si assegnano ora i risultati ottenuti alla DbGrid?
    Ho cercato nella guida in linea ma non riesco a trovare niente di significativo se non tutti i metodi/classi/proprietà che TDbGrid espone..

    Grazie!

  4. #4
    Be... sei hai letto la guida in linea ( ) dovresti sapere che usando un TDatasource risolvi tutti i tuoi problemi!

    Ciao

  5. #5
    Ciao, come ti ha indicato Nikk11, i componenti che trovi nella palet "Data Controls" vanno legati al datasource che trovi in "Data Access", quindi inserisci sulla tua form un componente TDataSource, i componenti TAdoQuery e DBGrid li avevi già inseriti; a questo punto seleziona il TDataSource, vai nell'Object Inspector e fra le proprietà del componente selezionato imposta il DataSet sulla tua query, dopo di che seleziona la DBGrid e sempre nell'Object Inspector setta la proprietà del DataSource al TDataSource che hai appena creato, attiva la query e vedreai che il DBGrid si popolerà.

    RS95

  6. #6
    Originariamente inviato da RadioStudio95
    Ciao, come ti ha indicato Nikk11, i componenti che trovi nella palet "Data Controls" vanno legati al datasource che trovi in "Data Access", quindi inserisci sulla tua form un componente TDataSource, i componenti TAdoQuery e DBGrid li avevi già inseriti; a questo punto seleziona il TDataSource, vai nell'Object Inspector e fra le proprietà del componente selezionato imposta il DataSet sulla tua query, dopo di che seleziona la DBGrid e sempre nell'Object Inspector setta la proprietà del DataSource al TDataSource che hai appena creato, attiva la query e vedreai che il DBGrid si popolerà.

    RS95
    Ti ringazio funziona perfettamente! Ma volendo invece personalizzare i risultati, ad esempio: prendo dalla tabella 2 campi, li sommo, e li voglio mostrare sul DBgrid (al posto dei due campi semplici). Come si può fare?

    Grazie ancora ciao

  7. #7
    Dipende cosa contiene il DBGrid, nel caso in cui la griglia contenga dei valori passati da un database filtrato allora potresti inserisce una funzione somma nella query.
    Ti consiglio di fare una ricerca al seguente link:
    http://delphi.about.com
    sicuramente troverai ciò che ti interessa.
    P.S.: il sito è in inglese.

    RS95

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.