Imaginsystems


Tecniche di Programmazione - Codici Sorgenti - News Informatiche
Archivio Posts
Anno 2014

Anno 2013

Anno 2012
Statistiche
  • Views Home Page: 58.877
  • Views Posts: 449.636
  • Views Gallerie: 0
  • n° Posts: 210
  • n° Commenti: 224

VB.NET - TUTTE QUELLO CHE SERVE PER CONNETTERSI CON IL DATABASE MySQL E POPOLARE DataGridView

VB.NET - TUTTE QUELLO CHE SERVE PER CONNETTERSI CON IL DATABASE MySQL E POPOLARE DataGridView



Già in passato ho scritto come interfacciarsi con un database MySql, vedi post vecchio , ma oggi voglio anche mettere a disposizione un'altra maniera con cuoi interagire con il database MySql .

Prima di partire serve che vi scaricate il Connector/Net 6.3 di MySql dal sito Link Download Connector / Net 6.3 MySql  oppure potete scaricare l'ultima versione Connector / Net 6.5.4 . Scaricato il file mysql-connector-net-6.5.4.msi lo installiamo e ci ricordiamo il percorso dove l'abbiamo installato.

Ora tocca Inserire nei riferimenti di Visual Studio 2010 la libreria MySql.Data.dll (Versione 6.5.4 = Percorso file "C:\Programmi\MySQL\MySQL Connector Net 6.5.4\Assemblies\v4.0\MySql.Data.dll" .

Troverete alla fine dell'articolo l'esempio e il codice sorgente di come connettersi ad un Database MySql .

Per prima cosa fare click su Progetto e poi click su Aggiungi riferimento


Poi fai click su Sfoglia  e trovare il percorso dove avete installato il Connector/Net 6.5.4 il mio percorso è : (C:\Programmi\MySQL\MySQL Connector Net 6.5.4\Assemblies\v4.0\MySql.Data.dll") selezionatelo e fare click su Ok


Ora siamo pronti per iniziare a comunicare con il nostro database MySql.

 

Funzione :

        'CREA LA TABELLA CONTENENT DUE CAMPI ID (int) Nome (Char(200))
        CreareTabellaDatabase()

        'Verifica prima di inserire il Nome
        VerificaInserimento()

        'AGGIORNAMENTO NOME PER MEZZO ID
        UploadName(11, "Fesso Prova")

        'RECUPERA IL NOME PASSATO L'
        Dim Nome As String = RecuperaNomeDaId(11)

        'RECUPERA L'ID DAL NOME PASSATO
        Dim Id_Name As Integer = RecuperaIDDaNome("Marco")

        'ELIMINA IL RECORD PASSANDO L'ID 
        DelateRecordDaId(7)

        'ELIMINA IL RECORD PASSANDO IL Nome
        DelateRecordDaNome("MARCO")

        'CARICA TABELLA DATAGRIDVIEW
        CaricaTabella()

CODICE VISUAL STUDIO 2010 - VISUAL BASIC .NET - VB.NET

 Imports MySql.Data.MySqlClient

Public Class Form1

    Dim connectionString As String = "Server=localhost; User Id=root; Password=; Database=test"
    Dim SQLConnection As MySqlConnection = New MySqlConnection
    Dim table As String = "table"

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

        'CREA LA TABELLA CONTENENT DUE CAMPI ID (int) Nome (Char(200))
        'CreareTabellaDatabase()

        'Verifica prima di inserire il Nome
        'VerificaInserimento()

        'AGGIORNAMENTO NOME PER MEZZO ID
        'UploadName(11, "Fesso Prova")

        'RECUPERA IL NOME PASSATO L'
        'Dim Nome As String = RecuperaNomeDaId(11)

        'RECUPERA L'ID DAL NOME PASSATO
        'Dim Id_Name As Integer = RecuperaIDDaNome("Marco")

        'ELIMINA IL RECORD PASSANDO L'ID 
        'DelateRecordDaId(7)

        'ELIMINA IL RECORD PASSANDO IL Nome
        'DelateRecordDaNome("MARCO")

        'CARICA TABELLA DATAGRIDVIEW
        'CaricaTabella()

    End Sub
    ''' <summary>
    ''' Verifica funzione di Inserimento nuovo Nome
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub VerificaInserimento()

        'INSERIMENTO NOME NELLA TABELLA
        Dim Nome As String = InputBox("Inserisci il nome", "Inserimento MySql")
        If InsertName(Nome) Then
            MsgBox("Inserito correttamente nel Database", vbInformation, "INSERITO CORRETTAMENTE")
        Else
            MsgBox("Verificare che il Nome non sia già presente nel Database", vbCritical, "ERRORE NELL'INSERIMENTO")
        End If
    End Sub

    ''' <summary>
    ''' Funzione che permette di inserire in un DataBase MySql
    ''' </summary>
    ''' <param name="Nome">Parametro da Inserire</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function InsertName(ByVal Nome As String) As Boolean

        'Setto i parametri e avvio la sezione di comunicazione con il Server
        SQLConnection = New MySqlConnection()
        SQLConnection.ConnectionString = connectionString
        SQLConnection.Open()

        Dim sqlCommand As New MySqlCommand
        Dim str_carSql As String

        Try
            'Stringa SQL di inserimento con i parametri
            str_carSql = "INSERT INTO `" & table & "`(`ID`, `Nome`) VALUES (@id,@nome)"

            'Stampo a video la stringa SQL per verificare se è corretta
            'MsgBox(str_carSql)

            'Connetto il database MySql 
            sqlCommand.Connection = SQLConnection
            sqlCommand.CommandText = str_carSql
            sqlCommand.CommandType = CommandType.Text

            'Setto i parametri dei valori
            sqlCommand.Parameters.AddWithValue("@id", Nothing)
            sqlCommand.Parameters.AddWithValue("@nome", Nome)

            'Eseguo il comando SQL
            sqlCommand.ExecuteNonQuery()

            Return True

        Catch ex As Exception
            Return False
            MsgBox("Error occured: Could not insert record", vbCritical, "Errore")
        End Try

    End Function


    ''' <summary>
    ''' Funzione che permette di inserire in un DataBase MySql
    ''' </summary>
    ''' <param name="IDNomeUpload">Id Record da modificare</param>
    ''' <param name="NomeNuovo">Nome Nuovo da Aggiornare</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function UploadName(ByVal IDNomeUpload As Integer, ByVal NomeNuovo As String) As Boolean

        'Setto i parametri e avvio la sezione di comunicazione con il Server
        SQLConnection = New MySqlConnection()
        SQLConnection.ConnectionString = connectionString
        SQLConnection.Open()

        Dim sqlCommand As New MySqlCommand
        Dim str_carSql As String

        Try
            'Stringa SQL di inserimento con i parametri
            str_carSql = "UPDATE ` " & table & " ` SET `Nome`=@nome WHERE `ID`='" & IDNomeUpload & "'"

            'Stampo a video la stringa SQL per verificare se è corretta
            'MsgBox(str_carSql)

            'Connetto il database MySql 
            sqlCommand.Connection = SQLConnection
            sqlCommand.CommandText = str_carSql
            sqlCommand.CommandType = CommandType.Text

            'Setto i parametri dei valori
            sqlCommand.Parameters.AddWithValue("@nome", NomeNuovo)

            'Eseguo il comando SQL
            sqlCommand.ExecuteNonQuery()

            Return True

        Catch ex As Exception
            Return False
            MsgBox("Error occured: Could not insert record", vbCritical, "Errore")
        End Try

    End Function
    ''' <summary>
    ''' Funzione SelectAllName - Ragruppa tutti i dati in un unico array
    ''' </summary>
    ''' <param name="IdName">Inserisci l'Id del Nome da Recuperare</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function RecuperaNomeDaId(ByVal IdName As Integer) As String
        Dim Risultato As String = Nothing

        'Setto i parametri e avvio la sezione di comunicazione con il Server
        SQLConnection = New MySqlConnection()
        SQLConnection.ConnectionString = connectionString
        SQLConnection.Open()

        Dim sqlCommand As New MySqlCommand
        Dim str_carSql As String

        Try
            'Stringa SQL di inserimento con i parametri
            str_carSql = "SELECT `Nome` FROM  ` " & table & " ` WHERE `ID`='" & IdName & "'"

            'Stampo a video la stringa SQL per verificare se è corretta
            'MsgBox(str_carSql)

            'Connetto il database MySql 
            sqlCommand.Connection = SQLConnection
            sqlCommand.CommandText = str_carSql
            sqlCommand.CommandType = CommandType.Text

            'Eseguo il comando SQL
            sqlCommand.ExecuteNonQuery()

            Dim myReader As MySqlDataReader = sqlCommand.ExecuteReader

            If myReader.Read Then
                Risultato = myReader.GetString(0)
            End If

            Return Risultato

        Catch ex As Exception
            Return Nothing
            MsgBox("Error occured: Could not insert record", vbCritical, "Errore")
        End Try

    End Function
    ''' <summary>
    ''' Funzione che recupera l'ID dal nome passato
    ''' </summary>
    ''' <param name="Nome">Inserisci il Nome da poter estrarre l'Id</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function RecuperaIDDaNome(ByVal Nome As String) As Integer
        Dim Risultato As String = Nothing

        'Setto i parametri e avvio la sezione di comunicazione con il Server
        SQLConnection = New MySqlConnection()
        SQLConnection.ConnectionString = connectionString
        SQLConnection.Open()

        Dim sqlCommand As New MySqlCommand
        Dim str_carSql As String

        Try
            'Stringa SQL di inserimento con i parametri
            str_carSql = "SELECT `Id` FROM  `" & table & "` WHERE `Nome`='" & Nome & "'"

            'Stampo a video la stringa SQL per verificare se è corretta
            'MsgBox(str_carSql)

            'Connetto il database MySql 
            sqlCommand.Connection = SQLConnection
            sqlCommand.CommandText = str_carSql
            sqlCommand.CommandType = CommandType.Text

            'Eseguo il comando SQL
            sqlCommand.ExecuteNonQuery()

            Dim myReader As MySqlDataReader = sqlCommand.ExecuteReader

            If myReader.Read Then
                Risultato = myReader.GetString(0)
            End If

            Return Risultato

        Catch ex As Exception
            Return Nothing
            MsgBox("Error occured: Could not insert record", vbCritical, "Errore")
        End Try

    End Function
    ''' <summary>
    ''' Crea una tabllella di nome table e inserisce due campi Id e Nome - campo nome è Univoco
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function CreareTabellaDatabase() As Boolean

        'Setto i parametri e avvio la sezione di comunicazione con il Server
        SQLConnection = New MySqlConnection()
        SQLConnection.ConnectionString = connectionString
        SQLConnection.Open()

        Dim sqlCommand As New MySqlCommand
        Dim str_carSql As String

        Try
            'Stringa SQL di inserimento con i parametri
            str_carSql = "CREATE TABLE IF NOT EXISTS `" & table & "` (`ID` int(11) NOT NULL AUTO_INCREMENT,`Nome` varchar(200) NOT NULL,UNIQUE INDEX (Nome),PRIMARY KEY (`ID`)) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;"

            'Stampo a video la stringa SQL per verificare se è corretta
            'MsgBox(str_carSql)

            'Connetto il database MySql 
            sqlCommand.Connection = SQLConnection
            sqlCommand.CommandText = str_carSql
            sqlCommand.CommandType = CommandType.Text

            'Eseguo il comando SQL
            sqlCommand.ExecuteNonQuery()

            Return True

        Catch ex As Exception
            Return False
            MsgBox("Error occured: Could not insert record", vbCritical, "Errore")
        End Try

    End Function
    ''' <summary>
    ''' Funzione che elimina il Record passato il suo Id
    ''' </summary>
    ''' <param name="IDNome">E' l'ID da eliminare</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function DelateRecordDaId(ByVal IDNome As Integer) As Boolean

        'Setto i parametri e avvio la sezione di comunicazione con il Server
        SQLConnection = New MySqlConnection()
        SQLConnection.ConnectionString = connectionString
        SQLConnection.Open()

        Dim sqlCommand As New MySqlCommand
        Dim str_carSql As String

        Try
            'Stringa SQL di inserimento con i parametri
            str_carSql = "DELETE FROM `" & table & "` WHERE `" & table & "`.`ID`='" & IDNome & "'"

            'Stampo a video la stringa SQL per verificare se è corretta
            'MsgBox(str_carSql)

            'Connetto il database MySql 
            sqlCommand.Connection = SQLConnection
            sqlCommand.CommandText = str_carSql
            sqlCommand.CommandType = CommandType.Text

            'Eseguo il comando SQL
            sqlCommand.ExecuteNonQuery()

            Return True

        Catch ex As Exception
            Return False
            MsgBox("Error occured: Could not insert record", vbCritical, "Errore")
        End Try

    End Function
    ''' <summary>
    ''' Funzione che elimina record passando il Nome
    ''' </summary>
    ''' <param name="Nome">Parametro Nome da eliminare</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function DelateRecordDaNome(ByVal Nome As String) As Boolean

        'Setto i parametri e avvio la sezione di comunicazione con il Server
        SQLConnection = New MySqlConnection()
        SQLConnection.ConnectionString = connectionString
        SQLConnection.Open()

        Dim sqlCommand As New MySqlCommand
        Dim str_carSql As String

        Try
            'Stringa SQL di inserimento con i parametri
            str_carSql = "DELETE FROM `" & table & "` WHERE `" & table & "`.`Nome`='" & Nome & "'"

            'Stampo a video la stringa SQL per verificare se è corretta
            'MsgBox(str_carSql)

            'Connetto il database MySql 
            sqlCommand.Connection = SQLConnection
            sqlCommand.CommandText = str_carSql
            sqlCommand.CommandType = CommandType.Text

            'Eseguo il comando SQL
            sqlCommand.ExecuteNonQuery()

            Return True

        Catch ex As Exception
            Return False
            MsgBox("Error occured: Could not insert record", vbCritical, "Errore")
        End Try

    End Function

    Public Function CaricaTabella() As Boolean
        Dim str_carSql As String

        Try
            'Stringa SQL di inserimento con i parametri
            str_carSql = "SELECT * FROM `" & table & "`"

            'Stampo a video la stringa SQL per verificare se è corretta
            'MsgBox(str_carSql)

            Dim myReader As New MySqlDataAdapter(str_carSql, connectionString)

            Dim tabella As New DataTable
            myReader.Fill(tabella)
            DataGridView2.DataSource = tabella
            DataGridView2.AllowUserToAddRows = False

            Return True

        Catch ex As Exception
            Return False
            MsgBox("Error occured: Could not insert record", vbCritical, "Errore")
        End Try

    End Function

End Class

Per aiutarvi potete scaricare il file di esempio al seguente indirizzo :

Password : "ImaginSystem"
Link File Download : Download Link Project MySQL

By ImaginSystems & Queen Gin 
Categoria: VB.NET
sabato, 29 dic 2012 Ore. 19.59

Messaggi collegati


Ora e Data
Mappa
Blogs Amici
    Copyright © 2002-2007 - Blogs 2.0
    dotNetHell.it | Home Page Blogs
    ASP.NET 2.0 Windows 2003