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
Connessioe oleDB pubblica
venerdì 09 maggio 2008 - 15.40
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ridaria
Profilo
| Expert
905
messaggi | Data Invio:
ven 9 mag 2008 - 15:40
ciao ragazzi,
ho una esigenza:
come creo una connessione OleDB Pubblica, cioè che posso richiamare da tutte le forms senza dover scrivere continuamente tutto il codice necessario per aprire la connessione?
Con vb 6.0
in un modulo inserivo:
Public cn As New ADODB.Connection
e poi con una funzione "apriConnessione" aprivo la connessione "cn" e potevo usarla in qualunque form del progetto.
Grazie
Riccardo
Ridaria
crds
Profilo
| Newbie
13
messaggi | Data Invio:
ven 9 mag 2008 - 20:27
>ciao ragazzi,
>ho una esigenza:
>come creo una connessione OleDB Pubblica, cioè che posso richiamare
>da tutte le forms senza dover scrivere continuamente tutto il
>codice necessario per aprire la connessione?
>
>Con vb 6.0
>in un modulo inserivo:
>Public cn As New ADODB.Connection
>
>e poi con una funzione "apriConnessione" aprivo la connessione
>"cn" e potevo usarla in qualunque form del progetto.
>
>Grazie
>
>Riccardo
>Ridaria
tale e quale
In un modulo dichiari Public Cn As ADODB.Connection
poi nella form principale
Constr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=" & My.Computer.Name & "\SQLEXPRESS; Initial Catalog= "
Cn = New ADODB.Connection
Cn.ConnectionString = Constr & Dbname & ";"
If (Cn.State <> adStateOpen) Then Cn.Open()
dove
ridaria
Profilo
| Expert
905
messaggi | Data Invio:
sab 10 mag 2008 - 06:14
parlavo di una connessione oleDB
e poi non capito cosa mi hai indicato di fare.
Grazie
Ridaria
Lucifel
Profilo
| Junior Member
104
messaggi | Data Invio:
lun 12 mag 2008 - 11:30
In cosa stai programmando?
Vb 2005 / Vb 2008 / C# 2005
Cmq basta che crei una classe pubblica con le funzioni e i metodi che usavi in Vb 6 tutti pubblici (anche se sarebbe meglio che le facessi tutte private e poi usassi le property)
Diego
-----------------------------------
Avanti sempre e comunque!
-----------------------------------
ridaria
Profilo
| Expert
905
messaggi | Data Invio:
lun 12 mag 2008 - 11:33
Grazie ho risolto.
Ma adesso ho un altro problema:
Leggo i dati da db, compio una modifica sui dati e tutto fila liscio, chiuda la form, la riapro e leggo le modifiche, apro il database e trovo ANCORA i dati ORIGINALI!!!!!!!
Chiuiudo vb 2005 lo riapro e rileggo i dati originali.
Che accade?
Come se scrivesse i dati da qualche parte che vede solo lui!!!!!!
Mi dai una mano?
Grazie
Riccardo
Ridaria
Lucifel
Profilo
| Junior Member
104
messaggi | Data Invio:
lun 12 mag 2008 - 11:51
Sembra che tu faccia delle modifiche solo in memoria e non nel db. Prova a fare un debug nel punto in cui scrivi i dati e vedi che fa effettivamente. Magari non fa l'execute della query in db...
Ciao
Diego
-----------------------------------
Avanti sempre e comunque!
-----------------------------------
ridaria
Profilo
| Expert
905
messaggi | Data Invio:
lun 12 mag 2008 - 16:18
TRovato, o meglio risolto, ma non del tutto:
Ho cambiato la stringa di connessione, che ho nel file "app.Config"
Questa era quella con cui non mi aggiornava i dati:
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\System\Database\DB_GESART_DATI.mdb"
Che usa la chiave: |DAtaDirectory|
Questa invece è quella che mi fa fare l'aggiornamento e che effettivamente SCRIVE sul DB:
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\RICCARDO\RiccardoVB\VBnet\GESART_3.0.0\Gesart\Gesart\System\Database\DB_GESART_DATI.mdb"
Come puoi notare questa contiene il percorso fisico del DB.
Ma non va bene, avrai già intuito il perché:
Va a farsi friggere la portabilità del software!
Che faccio per ogni cliente a cui installo il programma, devo cambiare la stringa di connessione inserendo il percorso fisico del db????
Queste cose non si facevano neanche in DOS, figuriamoci adesso.
Come faccio per creare una stringa di connessione che dinamicamente va a prendersi il percorso del db?
Chiaro che io il db intendo COMUNQUE piazzarlo in una Cartella interna alla cartella della applicazione.
Credo sia una questione di quaslcosa tipo: App.Path & "cartellaDatabase/nomeDB.mdb"
ma una cosa del genere non la posso certo scrivere nl app.Config.
Grazie resto in attesa.
Riccardo
Ridaria
Lucifel
Profilo
| Junior Member
104
messaggi | Data Invio:
lun 12 mag 2008 - 16:50
Purtroppo il fatto che tu abbia un db access (che altro non è che un file) crea questi inconvenienti.
Anche io ho i path completi nell'App.Config quando devo accedere al file access.
Purtroppo non hai altre possibilità... almeno da quanto ne so io.
Io lo risolverei o salvando il file sempre sotto la stessa cartella quando faccio l'installazione o creando una form di installazione dove mi fa fare tutti i setting che mi servono, quindi anche scegliendo il percorso del file access.
Guarda, per ora non mi viene in mente altro,
Mi dispiace.
Diego
-----------------------------------
Avanti sempre e comunque!
-----------------------------------
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 !