PDA

View Full Version : [VB] Connnessione db mysql


robby87
30-11-2007, 08:06
Ragazzi ho l'esigenza di sviluppare un software con un db ke stia su una makkina linux... (mysql o postgres)! Ho scleto di usare vb6 e su internet ho trovato un codice per connettersi tramite odbc! Installato il driver ho fatto partire il programma...ma mi da errore di runtime... ke dite: provo ad usare visual studio 2005? o il 2003?? o rimango sul vb 6 ????

isAlreadyInUse
30-11-2007, 08:26
VB6 su linux :confused:

jerry74
30-11-2007, 08:59
Ragazzi ho l'esigenza di sviluppare un software con un db ke stia su una makkina linux... (mysql o postgres)!

per capirci: il sofware gira su macchina windows mentre il database gira sotto un server Linux, giusto?

robby87
30-11-2007, 09:00
si jerry.. è come dici te..il db su makkina linux e i client windows xp!

jerry74
30-11-2007, 09:04
Posta il codice così si dà un'occhiata.

robby87
30-11-2007, 09:10
Ecco il progetto scaricato da internet.. io ho messo salmente i dati per il mio db ma mi da un errore di runtime..

jerry74
30-11-2007, 09:55
sul computer winxp hai installato i driver mysql odbc

Nel caso li trovi a questo indirizzo:

http://download.softagency.net/MySQL/Downloads/Connector-ODBC/3.51/

robby87
30-11-2007, 10:08
si e il driver lo prende correttamente il server db! mi da un activex running error o una cosa del genere

jerry74
30-11-2007, 17:16
Io ho provato a fare una connessione al db mysql sul server mysql che ho al lavoro e tutto funziona sembra problemi.

Non ho usato il tuo codice ma ho creato del codice appositamente.

Prova anche a vedere qui (http://www.desantix.it/index.php?page=show_articles&cmd=show_article&id=172&cookie=1), spiegano come fare una connessione da vb6 a mysql ed abilitano nei riferimenti una libreria activeX. Potrebbe essere questa che ti manca

robby87
03-12-2007, 13:17
Alla fine mi funziona solo con visual studio 2005! Qualcuno a qualce guida x spiegare ad uno ke nn ha mai usato VS2005 come si gestiscono i db ?? Anche un progetto di esempio! xchè mi funziona la connessione ma nn riesco tipo a gestire i dati...solo ke su internet nn ci capisco niente

jerry74
03-12-2007, 17:59
Alla fine mi funziona solo con visual studio 2005! Qualcuno a qualce guida x spiegare ad uno ke nn ha mai usato VS2005 come si gestiscono i db ?? Anche un progetto di esempio! xchè mi funziona la connessione ma nn riesco tipo a gestire i dati...solo ke su internet nn ci capisco niente

Se sei interessato a Visual Basic, puoi partire da questo sito: http://www.maurorossi.net/ e magari procurarti anche un buon libro (se cerchi nel forum troverai qualcosa).
Un consiglio: Visual Studio offre tanto codice già pronto, tante scorciatoie come connessioni a database realizzabili con pochi click del mouse ma se vuoi veramente imparare crea il tuo codice da solo, riga per riga così da capire realmente cosa accade all'interno di un programma.

robby87
03-12-2007, 18:04
io ho solo bisogno di un codice esempio per collegarmi al db! cioè un esempio di una query ( SELECT * from qualkosa) e ke metta in un record set tutto! Poi lo so! è ke io nn l'ho mai fatto con visual studio! tutto qua! un progetto di esempio!

jerry74
05-12-2007, 07:06
Questa è la connessione che uso io per connettermi al server mysql, provata e funzionante.

Ho dovuto caricare i seguenti riferimenti:
"Microsoft ActiveX Data Objects Recordset 2.8 Library"
"Microsoft ActiveX Data Objects 2.8 Library"

Option Explicit On

Public Class Form1

Public conn As New ADODB.Connection ' creo un oggetto connection'
Public rs As New ADODB.Recordset ' creo un oggetto recordset '

Sub connetti()

REM apertura della connessione al server mysql
With conn
.Open("driver={MySQL ODBC 3.51 Driver}; server=nomeserver;port=3306; uid=nomeutente; pwd=pwdutente; database=nomedatabase;")
.CursorLocation = ADODB.CursorLocationEnum.adUseClient
End With

End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim query As String

If (conn.State = 1) Then ' se la connessione ha avuto esito positivo'

query = "SELECT * FROM utenti" ' creazione della query per interrogare il database '

REM apertura del recordset
With rs
.Open(query, conn, , , -1)
End With

If (rs.RecordCount > 0) Then ' se il recordset non è vuoto '

While Not rs.EOF ' esegui finchè non sei alla fine del file '

REM nella combobox aggiungo un valore per ogni record trovato
ComboBox1.Items.Add(rs("cognome").Value & " " & rs("nome").Value)

rs.MoveNext() ' ad ogni ciclo mi sposto al record successivo - non omettere altrimenti entra in loop infinito '

End While

Else

ComboBox1.Items.Add("nessun record") ' se non sono presenti record aggiunge solo questa riga '

End If

rs.Close() ' chiusura della connessione '

End If

End Sub


Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Call connetti() ' all'apertura del form avvia la connessione con il server '

End Sub

End Class

robby87
05-12-2007, 09:00
ooooo le...finalmente!!! GRAZIE MILLE... NON SO COME RINGRAZIARTI!