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
Uilizzare il Database MySQL con .NET
mercoledì 13 ottobre 2004 - 19.19
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
damar3
Profilo
| Newbie
39
messaggi | Data Invio:
mer 13 ott 2004 - 19:19
Salve,
ho letto l'articolo "Utilizzare il Database MySQL con .NET " e l'ho trovato molto interessante. Ho provato a fare un'qualcosa di simile ma con scarsi risultati.
Il listato 2 :
DataSet ds=new DataSet();
MySQLConnection mysqlconn=new MySQLConnection("Server=Localhost;Data Source=test;UID=root;PWD=");
mysqlconn.Open();
MySQLDataAdapter da=new MySQLDataAdapter("SELECT * FROM EMPLOYEES",mysqlconn);
da.Fill(ds,"Employees");
dataGrid1.DataSource=ds.Tables["Employees"];
mysqlconn.Close();
immagino che sia per C#.
Voglio provare a fare una cosa simile per VB.NET. Mi potreste aiutare?
Allora, da come avete già capito, sono neofita in materia ma imparo in fretta.
Quello che ho capito è che il Datagrid è il "contenitore" dove vengono visualizzati i dati; ad un Datagrid si associa un Dataset che è una sorta di cache dove vengono memorizzati i dati per poi visualizzarli. Capito bene?
Un grazie anticipato per la risposta. Se qualcuno poi mi postasse l'esempio in VB.NET gliene sarei grato.
Leo
Profilo
| Junior Member
73
messaggi | Data Invio:
gio 14 ott 2004 - 09:52
prova cosi, vedi se ti funziona perche' l'ho copiato e modificato per te, poi se hai problemi scrivimi che ti dico come fare. devi usare un provider di terze parti e questo forse lo sai gia, oppure l'odbc di microsoft, ma te lo sconsiglio perche' e' piu' lento.nel listato seguente poi aggiungi le eccezzioni per gli errori e sei a posto.
Fammi sapere .. ciao!!
Mirco
-------
Private sServer As String = "NomeServer"
Private sDatabase As String = "NomeDb"
Private sUser As String = "Utente"
Private sPassword As String = "Pwd"
Public Conn As New MySqlConnection
dim str as string = "select * from tabella"
Dim MyConnString As String = "Server=" & sServer & ";database=" & sDatabase & ";uid=" & sUser & ";pwd=" & sPassword & ";"
Conn = New MySqlConnection(MyConnString)
Conn.Open()
Dim DataAdapter As New MySqlDataAdapter()
Dim dataset As New DataSet("NomeTabella")
DataGrid1..DataSource = Nothing
DataAdapter.SelectCommand = New MySqlCommand(sql, Conn)
DataGrid1.DataMember = "NomeTabella"
DataAdapter.Fill(dataset, "NomeTabella")
DataGrid1.DataSource() = dataset)
conn.close()
damar3
Profilo
| Newbie
39
messaggi | Data Invio:
ven 15 ott 2004 - 18:30
Ciao,
io avevo fatto una cosa del genere. Come .NET Data Provider ho usato MySqlDriverCS.
Dim ds As New DataSet
Dim mysqlconn As New MySQLConnection("Server=localhost;Data Source=test;UID=mediatel_;PWD=")
mysqlconn.Open()
Dim da As New MySQLDataAdapter("select * from test", mysqlconn)
da.Fill(ds, "test")
DataGrid1.DataSource = ds.Tables.Item(1)
mysqlconn.Close()
ma ho un errore di eccezione non gestita sulla Open ();
Ho provato a gestire le eccezioni in questo modo :
Dim ds As New DataSet
Dim mysqlconn As New MySQLConnection("Server=localhost;Data Source=test;UID=mediatel_;PWD=")
Try
mysqlconn.Open()
Dim da As New MySQLDataAdapter("select * from test", mysqlconn)
da.Fill(ds, "test")
DataGrid1.DataSource = ds.Tables.Item(1)
Catch ex As MySQLDriverCS.MySQLException
MsgBox(ex)
End Try
mysqlconn.Close()
Ma giustamente ho l'errore che ex non è una stringa e non posso stamparla...
Come posso fare?
Grazie per l'aiuto!
damar3
Profilo
| Newbie
39
messaggi | Data Invio:
ven 15 ott 2004 - 18:47
Sono riuscito a stampare l'errore.
E' bastato fare così :
MsgBox(ex.ToString)
L'errore è questo riassumendolo :
Can't connect. Accesso negato per l'utente ODBC@localhost (mot de passe : NON)
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
lun 18 ott 2004 - 09:52
Hai risolto il tuo problema? se non l'hai fatto mi rispieghi un secondo le tue esigenze e poi per mysql ti consiglio di utilizzare il provider mysqlconnector è free ed è stato creato proprio dalla ditta mysql, otra trovi la versione beta ma io già la sto testando e per ora non ho trovato problemi..ti posto il link:
http://dev.mysql.com/downloads/connector/net/1.0.html
Ciao
Fabio
damar3
Profilo
| Newbie
39
messaggi | Data Invio:
lun 18 ott 2004 - 13:10
Grazie mille,
ho risolto usando mysqlconnector. Prima usavo MySqlDriverCS. Un'ultimissima cosa se possibile, mi potresti consigliare una guida su DataGrid, Dataset e le cose inerenti il loro utilizzo ?
I miei commenti dovrebbero essere corretti (almeno spero)
mysqlconn.Open() 'Mi connetto
da.SelectCommand = New MySqlCommand(query, mysqlconn) 'eseguo la query
da.Fill(ds, "tabella") ' Metto il contenuto della query in una tabella
DataGrid1.DataSource = ds.Tables.Item("tabella") 'Associo al datagrid il dataset
mysqlconn.Close() ' chiudo la connessione
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
lun 18 ott 2004 - 16:54
I tuoi commenti sono giusti, io per esempio utilizzo anche il dataadapter esempio:
Dim ds As New DataSet
Dim da As New MySqlDataAdapter
da = New MySqlDataAdapter("SELECT * FROM nome_tabella", connessione)
da.Fill(ds, "nome_tabella")
DataGrid1.DataSource = ds.Tables.Item("tabella")
poi per le guide ti consiglio di vedere i libri della Microsoft Press.
Ciao
Fabio
damar3
Profilo
| Newbie
39
messaggi | Data Invio:
mer 20 ott 2004 - 11:44
Grazie di tutto!
damar3
Profilo
| Newbie
39
messaggi | Data Invio:
gio 25 nov 2004 - 22:02
Se provo a fare un Uodate non succede niente. Non mi da errore ma non esegue niente. Ho fatto così :
Dim stringa_connessione As String
Dim da As New MySqlDataAdapter
stringa_connessione = "Database=diegusyi_diemme;Data Source=localhost;User Id=root;Password="
Dim mysqlconn As New MySqlConnection(stringa_connessione)
Try
mysqlconn.Open() 'Mi connetto
da.UpdateCommand = New MySqlCommand(query, mysqlconn) 'eseguo la query di update
mysqlconn.Close() 'Chiudo la connessione
Catch ex As MySqlException
MsgBox(ex.ToString)
Return ex.ToString
End Try
Return 0
Credevo che dovevo mettere da.UpdateCommand o da.InsertCommand per eseguire una query di update o Insert invece non è così.
Come posso fare?
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
ven 26 nov 2004 - 12:28
Scusami ma usa il command per fare Insert ed Update...
Esempio:
Dim db As New MysqlConnection()
Dim cmd As New MysqlCommand()
esegui la connessione al database e poi fai questo
dim sql As String
sql="Insert Into nome_tabella(campo1,campo2...) Values('1','2'...)
cmd= New MysqlCommand(sql,db)
Cmd.ExecuteNonQuery
Ciao
Fabio
damar3
Profilo
| Newbie
39
messaggi | Data Invio:
ven 26 nov 2004 - 22:43
Ok perfetto.
Solo che mi chiedevo se era conveniente in ogni caso usare il DataAdapter oppure no.
Quindi in linea di principio mi consigli di usare il DataAdapeter e Dataset in lettura mentre in Inserimento/Modifiche/Cancellazioni direttamente Command ?
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
lun 29 nov 2004 - 10:00
Certamente!
Ciao
kevin
Profilo
| Junior Member
73
messaggi | Data Invio:
gio 30 giu 2005 - 11:32
Ciao a tutti,
ho mondato anche io i driver per mysql presi da qui
http://dev.mysql.com/downloads/connector/net/1.0.html
il problema è che quando eseguo il codice mi da errore al momento dell'open
vi inserisco il codice
Dim ds As New DataSet
Dim mysqlconn As New MySqlConnection("Server=14.184.216.15;Data Source=prova;UID=root;PWD=123456")
Try
mysqlconn.Open() 'MI DA ERRORE QUI
Catch ex As MySql.Data.MySqlClient.MySqlException
MessageBox.Show(ex.ToString)
End Try
Dim da As New MySqlDataAdapter("select * from Prodotti", mysqlconn)
da.Fill(ds, "Prodotti")
DataGrid1.DataSource = ds.Tables.Item(1)
mysqlconn.Close()
Grazie 1000
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 !