Using ODBC Driver
Imports Microsoft.VisualBasic Imports System.Data.Odbc Imports System.Data Public Class Server Private MySQLDataReader As OdbcDataReader Private ConnectionString As String = "Driver={MySQL ODBC 5.1 Driver}; Server=localhost; User=user; Password=password; Database=database; Option=3;" Protected Function ExecuteQuery(Byval Query As String) As DataTable 'Reference: http://msdn.microsoft.com/en-us/library/ms998569.aspx 'When Using DataReaders, Specify CommandBehavior.CloseConnection Dim dReturnValue As New DataTable Try 'Open and Close the Connection in the Method. See Reference. Dim MySQLAdapter As New OdbcDataAdapter(Query, ConnectionString) 'Explicitly Close Connections. See Reference. MySQLAdapter.SelectCommand.Connection.Close() 'Do Not Explicitly Open a Connection if You Use Fill or Update for a Single Operation MySQLAdapter.Fill(dReturnValue) Catch ex As Exception End Try Return dReturnValue End Function Protected Function ExecuteNonQuery(Byval Query As String) As Boolean Dim MySQLConnection As New OdbcConnection(ConnectionString) Try 'Open and Close the Connection in the Method. See Reference. MySQLConnection.Open() Dim MySQLCommand As New OdbcCommand(Query, MySQLConnection) MySQLCommand.ExecuteNonQuery() Return True Catch ex As Exception Return False Finally 'Open and Close the Connection in the Method. See Reference. MySQLConnection.Close() End Try End Function End Class
In the ConnectionString, replace the Server, Username, Password and Database with the actual value. In my example, my Server is localhost, Username is username, Password is password and Database is database.
To get data from the database, use the ExecuteQuery function. This will return a DataTable. To insert, update, delete or any query that requires data manipulation, use the ExecuteNonQuery function.
Using .Net Connector
Imports MySql.Data.MySqlClient Public Class Server Private Shared Connection As New MySqlConnection Private Shared Connected As Boolean Public Shared Function Login(ByVal Server As String, ByVal User As String, ByVal Password As String, ByVal Database As String, Optional ByVal Port As Integer = 3306) As Boolean Connection.ConnectionString = String.Format("server={0}; user id={1}; password={2}; pooling=false; database={3}; port={4}", Server, User, Password, Database, Port) Try Connection.Open() Connected = True Return True Catch ex As MySqlException Connected = False Return False End Try End Function Public Shared Sub Logout() Try Connected = False Connection.Close() Catch ex As Exception End Try End Sub Public Shared ReadOnly Property IsConnected() As Boolean Get Return Connected End Get End Property '''''' Executes a query (INSERT, UPDATE, DELETE). ''' ''' SQL Command (INSERT, UPDATE, DELETE) '''Returns true if command is executed successfully '''Public Shared Function ExecuteNonQuery(ByVal Command As String) As Boolean Try Dim SQLCommand As New MySqlCommand(Command, Connection) SQLCommand.ExecuteNonQuery() Return True Catch ex As Exception MessageBox.Show(ex.Message) Return False End Try End Function ''' ''' Returns the results of a query in Datatable. ''' ''' SQL query '''Returns a datatable containing the data (SELECT) Public Shared Function ExecuteQuery(ByVal Query As String) As DataTable Dim Data As New DataTable Try Dim dAdapter As New MySqlDataAdapter(Query, Connection) Dim CommandBuilder As New MySqlCommandBuilder(dAdapter) dAdapter.Fill(Data) Catch ex As MySqlException MessageBox.Show(ex.Message) End Try Return Data End Function End Class
The code for the .Net Connector is similar to the ODBC Driver, except that you have to call the Login function before calling the ExecuteQuery and ExecuteNonQuery. The Login function will return true if it was able to connect to the server. You can also check the IsConnected property to check if the program was able to connect to the database.