PDA

Visualizza la versione completa : [C++] Collegamento a InterBase con C++Builder


Urbanus
17-12-2006, 18:04
Ciao a tutti
spero che possiate darmi una mano...

premetto che sto facendo tutto + o - a "intuito" nel senso che non sono riuscito ad interfacciarmi a mysql con c++ e quindi provo con interbase...(magari riesco)

seguendo una guida gratutia scaricata da internet ho creato un db con interbase con una tabella Prova id nome cognome (e popolata)

poi su un form ho inserito una DBGrid alla quale ho associato un DataSource.

al DataSource. ho associato un DataSet (che proviene da una query: select * from PROVA)

e fin qua non mi da nessun errore...
ora quando lancio il programmino come faccio a dire alla tabella di mostrarmi i risultati???

non c'e un comando del tipo DBGrid1->Load????

spero che abbiate capito cosa sto cercando di fare....

PS: DataSouce DataSet e IBQuery sono stati inseriti nel form tramite i comandi già pronti nella toolbar....

:bhò:

alka
17-12-2006, 20:03
Il titolo è errato: non stai usando Visual C++, ma C++Builder.

In secondo luogo, prima di caricare i dati, dovresti determinare se la connessione al database viene effettuata e che vada a buon fine, poi eseguire la query... queste operazioni sono corrette o restituiscono errori?

Urbanus
19-12-2006, 22:09
la connessione è corretta (almeno dal test del componente TIBDatabase)
la query è corretta perchè provata all' interno della console di interbase

mi rimane da dire alla griglia TBDGrid "ok ora mostrami i dati" una volta che premo un bottone....


che ne so una cosa del tipo...

DBGrid1->Load????

alka
19-12-2006, 22:54
E' sufficiente collegare al componente che esegue la query un componente TDataSource, e collegare il controllo TDBGrid a quest'ultimo.

Urbanus
20-12-2006, 21:57
ok fatto... ma una volta che lancio il programma devo dire tramite un pulsante ad esempio di caricare i risultati nelle griglia....

non penso che ogni volta che lancio il prog. si carichino automaticamente....

capito cosa intendo????'

Urbanus
22-12-2006, 13:56
UP

Urbanus
22-12-2006, 22:15
vi allego una immagine per capire....

cosa dovrei scrivere all' interno del bottone perchè nella griglia mi compaiano i risultati???

aiutatemi grazie

Urbanus
22-12-2006, 22:20
ops l' allegato

alka
23-12-2006, 16:29
Originariamente inviato da Urbanus
ok fatto... ma una volta che lancio il programma devo dire tramite un pulsante ad esempio di caricare i risultati nelle griglia....
No.

Attraverso il componente TDataSource, la griglia - che è un "Data Control" - viene associata alla tabella, query o più genericamente al DataSet a cui fa riferimento, appunto, il componente TDataSource stesso.

Il legame è, in sostanza
DBGrid --> DataSource --> IBQuery/IBTable/...

Quando apri la query attraverso il metodo Open, i dati vengono reperiti dal database eseguendo lo statement SQL in questione; di fatto, questo modifica lo stato del componente DataSet (la query) che il TDataSource rileva ed è in grado di notificare al controllo visuale associato, la TDBGrid, il quale rifletterà tale stato (mostrando i record disponibili, quello attualmente selezionato e così via).

Tutto questo funziona anche in fase di progettazione (designtime)!

Ciao! :ciauz:

Urbanus
23-12-2006, 18:04
GRAZIE!!!


intanto ho cominciato con questo esempio.... vediamo se riesco ad ampliarlo poco per volta....

ultima cosa (per ora :D ) per contare e visualizzare tramite un edit il numero dei record utilizzo Edit1->Text=DBGrid1->FieldCount;

ma non li conta giusti: o 1 in piu o 1 in meno.... ma vedrò...

Loading