|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2818
|
[VB.NET] Prima connessione ad ACCESS - aiutooooo
Oggi è il primo giorno di vb.net
Gia sono in difficoltà Non riesco a collegare un semplice DB in ACCESS Ho letto in giro, ma non ho capito molto bene. In VB6 utilizzavo questo metodo, codice nel modulo: ------------------------------------------------------- Option Explicit Public CnConnessioni As ADODB.Connection Public rsRecordSetConnessioni As ADODB.Recordset ------------------------------------------------------- Sub ApriConn() Dim strCONN As String Dim Connessione As String strCONN = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB strCONN = strCONN & "Data Source=" & App.Path & "\Archivio.mdb;" strCONN = strCONN & "Jet OLEDB:Engine Type=5;" Set CnConnessioni = New ADODB.Connection CnConnessioni.Open strCONN End Sub ------------------------------------------------------- Poi nella form MDI aprivo la connessione Private Sub MDIForm_Load() ApriConn End Sub ------------------------------------------------------- Cosi non mi funziona Io adesso sto provando tutto nella form principale senza usare i moduli, una volta fatta la prima connessione posso dividere il codice e creare un modulo da utilizzare per tutti i progetti Riuscite a farmi un esempio pratico, di connessione Ciao e grazieeeeeee
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 35
|
Purtroppo VB.NET è completamente diverso da VB6, quindi le difficoltà sono normali non preoccuparti.
Le indicazioni che ti do si riferiscono all'apertura di una connessione ad un database OLEDB in tecnologia ADO.NET: ----------------------------------------------------------------------- Imports System.Data.OleDb Dim connessioneDatabase As New OleDbConnection() connessioneDatabase.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=NomeDelTuoDatabaseCompletoDiPath.mdb" Try connessioneDatabase.Open() Catch ex As OleDbException erroreDatabase = "Errore Occorso nell'apertura della connessione" End Try ----------------------------------------------------------------------- Mi raccomando ad inserire il nome del tuo database completo di percorso affinche possa essere aperto correttamente. Metti un breakpoint sul try vai in debug e controlla, step by step, se per caso vai in catch. Se così fosse accertati che il database non sia protetto da password, nel qual caso dovrai modificare la stringa di connessione aggiungendo nome utente e password. Spero che tutto fili per il meglio. Ciao |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2818
|
Ok
Quote:
Ok ottimo funziona Per non utilizzare un percorso assoluto ma uno relativo???? Ciao e grazieeeeeeeee
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Nov 2005
Messaggi: 5
|
ho visto che nel tuo esempio che non ti funzionava usavi
app.path adesso devi utilizzare Application.StartupPath per sapere la path dell'eseguibile del tuo programma. |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2818
|
Niente
Quote:
Non mi funziona....ho scritto cosi ----------------------------------------------- Imports System.Data Imports System.Data.OleDb ----------------------------------------------- Dim connessioneDatabase As New OleDbConnection() connessioneDatabase.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDBatabase Password=Ciao; Data Source=H:\Documenti\Database\VB\Vb.net\Prove\Connessione\Connessione\Archivio.mdb" Try connessioneDatabase.Open() Catch ex As OleDbException erroreDatabase = "Errore Occorso nell'apertura della connessione" End Try --------------------------------------------------------- Cosi facendo non si connette In pratica quando si connette ad un DB di access nella stessa cartella si vede il file che crea access di accesso ai dati, con l'icona di un DB con un lucchetto, a me questa iconcina non la crea, quindi significa che non sono connesso Non capisco dove sbaglio Ciao e grazieeeeee Ascolta....proprio se non ti chiedo tanto....potresti realizzarmi un miniprogetto. DB + form con connessione e me la mandi???? Ciao e grazieeeeeeeee
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 35
|
Nell'esempio che mi proponi, vedo che il database è protetto da password, ed è questo il vero problema perchè se non lo fosse, l'esempio che ti ho dato funzionerebbe perfettamente. Spulciando l'MSDN ho infatti notato che la stringa di connessione al provider, nel caso di un file protetto da password varia nel seguente modo:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb; Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****; Nella stringa c'è l'aggiunta di un campo che come vedi fa riferimento ad un file con estensione mdw. Tale file non contiene altro che l'impostazione di accesso al database per i vari utenti che lo andranno poi ad utilizzare. Esso può essere creato In Access cliccando su: Strumenti-->Protezione-->Impostazione Guidata Protezione. Si avvierà così un wizard che ti guiderà passo passo nell'impostazione di tutti i criteri di protezione (Nome utente, password) da attribuire al database e a tutti gli oggetti (tabelle, query ...) in esso contenuti. Creato questo file modifica la stringa di connessione come su citato e vai in esecuzione, dovrebbe funzionare tutto a dovere. In tutti i casi ti ricordo che la connessione va testata SEMPRE in debug verificando che non vada in catch, e non andando a spulciare se vengano aperti o meno file temporanei da parte del motore Microsoft Jet. Fammi sapere, Ciaoooooooooo |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2818
|
Ok
Ci sono riuscito!!!!!!
Leggendo qua e là, ho scoperto che il file di access va messo in bin/debug cosi facendo posso usare i percorso relativo. ------------------------------------------------------ Imports System.Data Imports System.Data.OleDb Module Connessione Public CnConnessioni As OleDbConnection Sub ApriConn() Dim connStr As String connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB connStr &= "Data Source=" & Application.StartupPath & "\Archivio.mdb;" connStr &= "Jet OLEDB:Engine Type=5;" CnConnessioni = New OleDbConnection(connStr) CnConnessioni.Open() ' MsgBox(connStr) End Sub End Module Cosi adesso mi funziona.....ho un problema adesso con una query rsRecordSet = New ADODB.Recordset rsRecordSet.Open("SELECT * From [Utenti] order by [NomeCognome]", CnConnessioni, ADODB.CursorTypeEnum.adOpenStatic, TrueDataLite80.LockTypeEnum.adLockOptimistic) Mi dice che TrueDataLite80 non è stata dichiarata Hai un altro modo per scrivere tale query???? Ciao e grazieeeeeeee
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 611
|
Quote:
Codice:
Dim cn As New OleDb.OleDbConnection("stringa connessione")
cn.Open()
Dim da As New OleDb.OleDbDataAdapter("SELECT * FROM Tabella", cn)
Dim ds As New DataSet
da.Fill(ds, "nomeTabella")
|
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2818
|
Ok
Quote:
Intanto ti faccio un'altra richiesta cosi provo il tutto Adesso che in teoria ho il mio recordset lo devo passare ad una griglia Io uso la JANUS. Il componenti è GridEx1....come faccio a passargli i dati???? In Vb6 cois li passavo Set GridEX1.ADORecordset = rsRecordSet Ciao e grazieeeeee
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 611
|
Quote:
cos'è la JANUS? GridEx??? sarebbe un datagrid? prova con il databind... |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2818
|
Si
Quote:
Si è una griglia...uno spettacolo Questo è il link se vuoi vedere cosa riesce a fare http://www.janusys.com/
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
|
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 35
|
Griglia Janus e Recordset
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: May 2003
Città: Monza
Messaggi: 1171
|
scusate l'ignoranza più totale (sto apprendendo Vb.net da pochi giorni) ma ho visto che ci sono delle parti guidate per collegarsi con il metodo ADO.NET direttametne dalle finestre di vb.net, non si fa prima che non stendere il codice?
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 611
|
Io ho sempre fatto tutto via codice, non so neanche se si possa fare da finestra di progettazione.
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: May 2003
Città: Monza
Messaggi: 1171
|
bhe sul lato destro della finestra di progettazione c'e' l'opzione per interagire e connettersi al database....però penso che per l'estrazione dei singoli dati forse serve usare il codice!
Io sono alle prime armi...ho solo provato ad importare una data base access in Vb2005 (anche perchè in quanto ad estrazioni dati in base al valore ancora non ne so niente) |
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 611
|
ahhh ma tu parli dell'esplora server... no, non serve per programmare, può essere utile per i gestire i file XSD, ma non credo che serva ad altro...
se trovi il modo di utilizzarlo diversamente dillo perchè sono curioso. Quote:
|
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: May 2003
Città: Monza
Messaggi: 1171
|
Consente di stabilire la connessione a un database e scegliere gli oggetti di database per l'applicazione. L'opzione crea un dataset
dicevo questo |
|
|
|
|
| Tutti gli articoli | Tutte le news | Tutti i download |
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:16.












cos'è la JANUS?
