Newsgroup: it.comp.lang.delphi
Titolo: ADO+Delphi+DataGrid

Sto cercando di usare le ADO con Delphi (ho sempre usato VB)
La prima domanda è:
Non ho ben capito che differenza c'è tra questi 2 metodi...
1)
var
  rs:OleVariant;
  conn:OleVariant;
______________________
Rs:=  CreateOleObject('ADODB.Recordset');
conn:=Createoleobject('adodb.connection');
conn.CursorLocation:=adUseClient;
conn.Open(strcon,'','',-1) ;
rs.ActiveConnection:=(conn);
rs.Open('clienti',conn,adOpenKeyset,adLockOptimistic,adcmdtable);
....
....
....
2)
var
  rs:Recordset;
  conn:Connection;
__________________
Rs := CoRecordset.create;
conn:=CoConnection.Create;
 conn.CursorLocation:=adUseClient;
 conn.Open(strcon,'','',-1) ;
 rs.set_ActiveConnection(conn);
rs.Open('clienti',conn,adOpenKeyset,adLockOptimistic,adcmdtable);
.............
........
......
poi un'atra cosa:
come assegno la proprietà datasource dell'oggetto DATAGRID al recordset?
in VB si fa
set DataGrid.DataSource=rs
ma in Delphi così nn va quindi deve esserci qualche funzione specifica...
ho notato che il recordser ha dei metodi come
SET_DATASOURCE,GET_DATASOURCE,e
sicuramente devo usare quelli, ma comunque sia, non sò come....
Aiutatemi per favore
Grazie
Michele


    Via De Gasperi, 14 - 42019
    Scandiano (Reggio Emilia)

 wrote in message
qRQ2a.236580$AA2.9...@news2.tin.it...

Si, sapevo che esistevano, non voglio usarli primo perchè preferisco usare
le
funzioni di ADO "a mano", poi perchè mi danno un sacco di errori, inoltre
non
mi pare nemmeno che siano componenti creati dalla Borland...
E poi non mi sembra che ci sia tanto più codice da scrivere....
Chi è che mi dà una mano?

 E poi non mi sembra che ci sia tanto più codice da scrivere....
Allora mi chiedo a cosa servano i componenti e controlli visuali all'interno
di un ambiente RAD...
Di certo puoi risparmiarti la scrittura di codice per la creazione e la
distruzione dei componenti; non devi impostare la stringa di connessione
alla base dati manualmente, ma puoi sfruttare la comoda finestra di dialogo.
Puoi collegare i componenti ADO per l'accesso ai dati a tutti i DataControl
disponibili (DBEdit, DBGrid...) per visualizzarli direttamente sullo schermo
*senza scrivere una riga di codice*, senza contare la possibilità di
definire campi persistenti e modificarne le proprietà di editing e
visualizzazione, imbastire relazioni master-detail a livello di
applicazione, ecc. ecc.


 applicazione, ecc. ecc.
I veri vantaggi della programmazione RAD non si vedono tanto su componenti
non
strettamente visuali, e poi per me è forse meglio scrivere il codice
manualmente,
xchè poi se devo usare le ADO con un altro compilatore.....e non ho i miei
componentini, rimango fregato.....
I componenti tipo DBedit,DBGrid, possono essere usati benissimo anche senza
usare
i TADO, a proposito xò a me non funzionano, ho impostato correttamente tutti
i componenti
ma non si visualizzano i dati nei controlli:
dbtext1.DataSource:=AADOtable.DataSource;
DBtext1.DataField:='nomecampo';
ho dimenticato qualcosa?
Rimane anche il problema dell'oggetto DataGrid, che non riesco in nessun
modo a collegare alla tabella

 DBtext1.DataField:='nomecampo';
Non ho ben capito quali sperimentazioni stai eseguendo, ma credo che tu stia
comunque utilizzando i componenti di accesso ai dati. Se hai deciso di
utilizzare i componenti, perchè non colleghi le loro proprietà in fase di
progettazione (designtime)?
Non riesco ad interpretare l'assegnazione che hai fatto, o forse non si
tratta dei componenti standard per ADO, ma comunque sembra errata.
La proprietà DataSource del DBText deve essere associata ad un componente
DataSource; questo componente, come ho detto prima, rappresenta un
intermediario tra il controllo visuale e una tabella generica...rende
possibile insomma collegare il DataControl a qualsiasi tipo di tabella, sia
essa ADO, BDE, InterBase o altro.
Devi appoggiare un controllo TADOTable sul form e impostarlo affinchè
referenzi correttamente una tabella del database; imposta la proprietà
Active a True per verificare che tutto sia andato a buon fine.
Successivamente, seleziona il componente TDataSource dalla pagina
"DataAccess" della Palette e imposta la proprietà DataSet di tale componente
affinchè punti all'ADOTable; infine, appoggia un controllo visuale per i
dati sul form e imposta la proprietà DataSource affinchè punti al componente
TDataSource.
Se tutto è andato a buon fine ed attivi la tabella, vedrai apparire i dati
nella griglia o nel controllo visuale che hai predisposto.
Se si tratta di un controllo che visualizza un campo singolo, imposta anche
la proprietà DataField al nome del campo da visualizzare.
Spero di non aver espresso i concetti in maniera eccessivamente confusionale
(tutti i nomi si assomigliano...)
Ciao!


In Delphi 5, i componenti ADO venivano forniti solamente con l'edizione
Enterprise: per utilizzarli con la Pro occorreva acquistarli separatamente.
Dalla versione 6 in avanti invece sono compresi anche nell'edizione Pro.
Saluti.
        Marco Bortolani
 
in...@marcobortolani.it
P.S.
Appoggio l'amico Marco Breveglieri nel consigliarti l'utilizzo dei
componenti visuali.


 componenti visuali.
Anche se non serve a niente, appoggio anch'io. E' da masochisti riscriversi
componenti che della gente sicuramente più esperta ha già scritto, IMHO.
--
Jax
Journeying Artificial Xenomorph