Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Recordset
lunedì 06 settembre 2004 - 16.09
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
SilverGecko
Profilo
| Newbie
14
messaggi | Data Invio:
lun 6 set 2004 - 16:09
Ciao a tutti!
Sto sviluppando un'applicazione che in alcune parti fa uso di datagrid e quindi di dataset.
In altre parti però preferisco semplificare usando i recordset.. il problema è che dopo aver incluso la libreria ADODB nel progetto e aver istanziato e aperto un oggetto recordset, questo genera un eccezione "System.Runtime.InteropServices.COMException".
Spulciando nella documentazione sembra che debba usare comunque i dataset..
C'è un modo per usare i recordset al "vecchio modo"? Se no come posso usare l'oggetto table del dataset alla stregua del recordset?
Ciaooo!
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
mar 7 set 2004 - 10:19
Caro Silver, quando iniziai la mia applicazione principale, un annetto fa, optai per l'uso dei recordset e di ADO. Funziona tutto benissimo, sia con Database di tipo MDB sia usando MSDE (SQL Sever). Non ho mai usato un dataset o un dataadapter (e neppure un datagrid), eppure la mia è un'applicazione gestionale basata quindi sull'interazione con un database. Probabilmente l'uso che tu fai dei recordset potrebbe nn essere corretto. Cmq, ADO e i recordset sono utilizzabili, questo te lo assicuro!
SilverGecko
Profilo
| Newbie
14
messaggi | Data Invio:
mar 7 set 2004 - 11:20
l'uso che devo fare dei recordset è molto semplice ovvero prelevare dei dati in tabella.. Visto che sono un "niubbo" di .net mi è venuto il dubbio che fossero stati integrati all'oggetto dataset, che uso solo per le datagrid che per ora in alcune parti del mio applicativo sono necessarie.
Quello che faccio con il recordset è semplicemente:
Dim rst as ADODB.Recordset
rst = CreateObject("ADODB.Recordset")
Call rst.Open(strSql, Conn, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockReadOnly)
dove strSql è una query su una tabella, conn è la connessione
Non so forse non ho importato le librerie corrette per i recordset?
Grazie!
Ciaoo
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
mar 7 set 2004 - 11:35
Caro Silver, nn conosco la tua tecnica di istanza:
Dim rst as ADODB.Recordset
rst = CreateObject("ADODB.Recordset")
Prova la mia:
Dim RstTipiPagamento As New ADODB.Recordset
Dim StrSQL As String
StrSQL = "SELECT * FROM TabTipiPagamento ORDER BY Formula"
RstTipiPagamento.Open(StrSQL, GIN.CnnGIN, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)
Se nn funziona neppure così,.....allora riparliamo delle librerie :-)
SilverGecko
Profilo
| Newbie
14
messaggi | Data Invio:
mar 7 set 2004 - 14:19
si ho proato ma il risultato è identico... mi potresti suggerire quali sono le librerie necessarie a far girare i recordset??
Nel frattempo sto usando gli oggetti dataset e dataadapter ma per la semplice consultazione di dati sul db credo che sia un meccanismo complesso e inutile.
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 8 set 2004 - 09:39
SilverGecko
la dll che devi importare in net per utilizzare è la seguente: adodb.dll versione 7.0 e la introduci nel progetto facendo seguendo questo iter:
click sulla voce progetto di vs net e scegli aggiungi riferimento, alla sezione Net troverai immediatamente la dll in questione.
Ma il tuo problema ti appare quando cerchi di stabilire una connessione al database?
Se si, Mi potresti dire che tipo di database utilizzi?
Ciao
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
mer 8 set 2004 - 09:59
Scusate il ritardo......dunque... se vuoi fare come ho fatto io, devi partire da
Progetto----> Aggiungi Riferimento ----> .Com ----> e selezioni: Microsoft ActiveX Data Objects 2.7 Library
Fammi sapere!
Ciao.
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 8 set 2004 - 10:29
Dimenticavo vi consiglio di installare il MADC 2.8.
SilverGecko
Profilo
| Newbie
14
messaggi | Data Invio:
mer 8 set 2004 - 11:03
eccomi dunque ho inserito sia la adodb.dll che la Microsoft ActiveX Data Objects 2.7 Library e dopo aver effettuato con successo la connessione al db, istanzio il recordset e poi viene generata l'eccezione alla riga:
rst.Open("SELECT * FROM CLIENTI", ConnectionParams.DB_Connection, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockReadOnly)
l'eccezione è di tipo "System.Runtime.InteropServices.COMException" e il messaggio è il seguente
"Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another."
dimenticavo.. mi interfaccio ad un db mysql tramite odbc
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 8 set 2004 - 11:38
Anche io utilizzo mysql e mi interfaccio con il ODBC.
Il mio iter per utilizzare mysql è il seguente:
Installo il motore mysql(database)
Installo Driver odbc 3.51
Installo MDAC 2.8
Poi creo un dsn di sistema
e la connessione la faccio in questo modo:
Public db As New ADODB.Connection()
Public tabella As New ADODB.Recordset()
db.ConnectionString = "DSN=HManager" Apertura database
db.Open()
tabella.Open("SELECT * FROM tabella ", db, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockOptimistic)
Ciao
SilverGecko
Profilo
| Newbie
14
messaggi | Data Invio:
mer 8 set 2004 - 12:04
si ecco anche io facevo le stesse operazioni.. piccolo particolare che usavo una connessione di tipo OdbcConnection... :-)
ora ho cambiato è il recordset viene riempito.. ma mi chiedo: per continuare ad usare dataset, dataadapter e datagrid devo utilizzare una connessione odbc? devo quindi usare 2 connessioni contemporaneamente?
grazie!!
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 8 set 2004 - 12:56
Io per utilizzare i dataset,dataadapter,datareader ecc. utilizzo l'ado net, non l'adodb, se devo utilizzare quest'ultimo, il dataset non l'utilizzo e nenche il dataadapter e gli altri.
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 8 set 2004 - 16:31
Ha ragione coach io mi sono espresso male mi stavo riferendo al fatto che il dataset,datareader,dataadapter ed altri sono solo utilizzabili in programmazione ado net.
Ciao
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !