Mi potreste dire gentilmente TUTTE le operazioni che devo fare x connettermi/fare query su un database access? non ho idea di che componenti utilizzare e come operare... aiutatemi grazie
![]()
Mi potreste dire gentilmente TUTTE le operazioni che devo fare x connettermi/fare query su un database access? non ho idea di che componenti utilizzare e come operare... aiutatemi grazie
![]()
Le procedure che puoi seguire per collegarti ad un database Microsoft Access dipendono dalla libreria/piattaforma che intendi utilizzare.
Ad esempio, con dbGo for ADO, puoi utilizzare il componente ADOConnection e impostare la proprietà ConnectionString attraverso l'apposito editor.
In seguito, utilizzando ADOCommand, ADOQuery e così via, puoi eseguire query di selezione o comando sul database stesso.
In seguito, usi un TDataSource per poter collegare a questi DataSet un qualsiasi controllo visuale "data aware", quali TDBGrid, TDBEdit e così via.
Mi riferisco ad un'applicazione di tipo VCL Application per Win32.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Grazie... si direbbe che ci sono riuscito... ma non riesco a capire come si fanno query con risultato. Nel senso che se devo fare INSERT INTO ci sono riuscito, ma per fare SELECT come devo fare? chi conterrà i risultati?
(Ah poi mi puoi spiegare che è un dataset?)
Ciao ciao e grazie
Per eseguire una query, come in precedenza, dipende dalla libreria utilizzata.Originariamente inviato da gygabyte017
[...] per fare SELECT come devo fare? chi conterrà i risultati?
Hai fatto uso della libreria dbGo for ADO?
In tal caso, il componente ADOQuery ad esempio ti consente di eseguire una qualsivoglia query, anche di selezione.
I dati saranno "bufferizzati" dal componente, sebbene ne esistano alcuni (in altre librerie, oltreché in ADO, che supportino unicamente cursori unidirezionali).
Tecnicamente, la libreria VCL definisce "dataset" qualsiasi componente discendente da TDataSet: questa classe fornisce metodi e proprietà che sono comuni a qualsiasi classe discendente, solitamente componenti come ADOTable, ADOQuery, IBTable, IBQuery, TTable, TQuery e così via, insomma tutti i componenti che contengono righe e colonne di una tabella ottenuta da una query o da un'altra sorgente dati (una tabella preselezionata dal DB) e che, generalmente, possono essere associati ad un componente TDataSource che provvede a fare da interprete tra il DataSet "di turno" e il controllo visuale data aware che è in grado di visualizzarne i dati.Originariamente inviato da gygabyte017
Ah poi mi puoi spiegare che è un dataset?
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Ecco quello che ho fatto: (si uso dbGo)
Sul form ci sono:
----
ADOConnection1 con la relativa ConnectionString corretta
ADODataSet1 collegato con ADOCOnnection1
DataSource1 collegato con ADODAtaset1
ADOQuery1 collegato con ADOCOnnection1 e DataSource1
DBGrid1 collegato con DataSource1
---
Ora x eseguire query uso alla pressione di un tasto:
e questo funziona. ora per ricevere valori con la SELECT faccio:codice:procedure TForm1.Button1Click(Sender: TObject); begin adoquery1.SQL.Clear; adoquery1.SQL.Text := 'INSERT INTO UserTable (aUsername,aPassword) VALUES (''CIAO'',''TESTR'')'; try showmessage(inttostr(adoquery1.ExecSQL)); except on E:Exception do begin showmessage('ERRORE: '+e.Message) end; end; end;
però nella DBGrid1 non vedo risultati... che sbaglio??codice:procedure TForm1.Button2Click(Sender: TObject); begin adoquery1.SQL.Clear; adoquery1.SQL.Text := 'SELECT * FROM UserTable WHERE (aUsername=''XXX'' and aPassword=''TEST'')'; try showmessage(inttostr(adoquery1.ExecSQL)); except on E:Exception do begin showmessage('ERRORE: '+e.Message) end; end; end;
La DBGrid è associata al componente TDataSource che fa riferimento al componente ADODataSet il quale non viene mai utilizzato nel tuo codice.Originariamente inviato da gygabyte017
Ecco quello che ho fatto: (si uso dbGo) [...]
però nella DBGrid1 non vedo risultati... che sbaglio??
Il DataSource dovrebbe fare riferimento in questo caso al componente ADOQuery.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...