Newsgroup: it.comp.lang.delphi
Titolo: Aprire Database access97 in Delphi 5

Salve a tutti... Come mi è stato consigliato da Marco Breveglieri ho scritto
di seguito il
codice Visual Basic che usavo per accedere ai database access, di modo che
qualcuno
possa "tradurmelo" in codice per Delphi(versione 5).
Il metodo che utilizzavo in Visual Basic era via codice senza l'ausilio di
componenti
esterni ma solo utilizzando variabili...
*****************************************************************
        Dim miodatabase As Database
        Dim miorecordset As Recordset
        On Error GoTo error
        Set miodatabase = OpenDatabase(percorso database
        Set miorecordset =
miodatabase.OpenRecordset(nometabella,dbOpenDynaset)
******************************************************************
Ho già tentato di utilizzare il componente Table presente in Delphi, ma
quando in
DatabaseName inserisco l'idirizzo del file "c:\windows\desktop\db1.mdb" e
poi vado su
TableName mi da errore... Se qualcuno sa come convertire il codice Visual
Basic in codice
Delphi gliene sarei molto grato....
Se poi qualcuno si prendesse la briga di spedirmi una unit dove si apre un
database e si
eseguono delle semplici operazioni su di esso gliene sarei ancora più
grato...
----------------------------------------------------------------------------
-------------
Per mandarmi un'e-mail scrivete a 
ni...@iol.it

 ******************************************************************
Allora, qui tu usavi DAO, alquanto in disuso anche in Vb ad onor del vero
(vedi ADO).
Quindi un primo passo potrebbero essere i componenti, che non ho mai
guardato, che trovi su Torry (
www.torry.net
) che interfacciano DAO (mi
sembra si chiamino kadao... o qualcosa del genere).
Ogni altro passo mi sembra si scosti un po troppo da quello che hai scritto
tu, in quanto in Delphi si tende a scrivere poco codice e, quindi, se vai a
componenti fai veloce ma se vai a codice il gioco si complica un poco per
chi non ha molta dimestichezza.(Te lo dice uno che ha smanettato in
VB3,4,5,6 per tre annetti interi .....).
Eventualmente appena ho un secondo (utopico :-)) provo a buttarti giů
qualche riga per ADO, sempre ti possa tornare utile. Sorry ma ora devo
scappare.
Bye Bye Honest.

Se hai i componenti ADOexpress (presenti in Delphi 5 Enterprise) tutto
quello che devi fare č usare il componente ADOtable o ADOquery eventualmente
assieme al componente ADOconnection e il gioco č fatto, puoi usare tutti i
controlli data-aware di delphi.
Se non hai ADOexpress puoi comunque utilizzare ADO in almeno due modi, ma al
prezzo di rinunciare ai controlli sensibili ai dati:
1) istanzi gli oggetti ADO come Variant (si faceva cosě in VB4 mi pare, e si
fa ancora cosě in VBscript e in Jscript) es:
uses ComObj
var Connessione, Recordset: Variant;
// si crea una connessione e la si apre (eventualmente con altri parametri)
Connessione := CreateOleObject('ADODB.Connection');
Connessione.Open('stringa di connessione','UserID','Password',-1);
// si puň creare ed aprire un recordset se serve
Recordset := CreateOleObject('ADODB.Recordset');
Recordset.Open('NomeTabella',Connessione,1,3,2);
//per i parametri vedere la documentazione di ADO
2) istanzi gli oggetti ADO importando la type library di ADO (molto piů
efficiente!) es:
uses ADODB_tlb
var connessione:_Connection;
      Recordset:_Recordset;
// si crea una connessione e la si apre (eventualmente con altri parametri)
Connessione := CoConnection.Create;
Connessione.Open('stringa di
connessione','UserID','Password',adConnectUnspecified);
// si puň creare ed aprire un recordset se serve
Recordset := CoRecordset.Create;
Recordset.Open('NomeTabella',Connessione,adOpenKeyset,adLockOptimistic,adCmd
Table);
//per i parametri vedere la documentazione di ADO
Se non vuoi usare ADO, ma preferisci il BDE puoi passare dal DAO (non
funziona con file mdb in formato Acces2000) o usare un DSN ODBC, entrambi i
metodi hanno prestazioni scadenti.