Click here to Skip to main content
15,893,381 members
Articles / Database Development / MySQL
Article

C# and MySQL/Connector 5.2

Rate me:
Please Sign up or sign in to vote.
2.79/5 (7 votes)
22 Mar 2008CPOL1 min read 46.3K   31   4
An article on how to connect to a MySQL database using the Connector/NET 5.2

Introduction

I'm a junior C# developer and I had a heck of a time trying to find a "how to" article that explains how to connect to a MySQL database using the Connector/NET 5.2.

So here's a simple article explaining how to do it.

Background

To understand the code, you need an understanding of database technology.
I've got MySQL 5 up and running and I installed the Connector/NET 5.2

I created a database name="cart" with a table="members" with fields= "fname" & "lname"

In Visual Studio 2005, I created a consoleApp.
I then added the Mysql.Data provider to the Reference folder.

Understanding the Provider Object

MySql.Data
|
|--MySql.Data.MySqlClient
| |--MySqlCommand
| |--MySqlConnection
| |--MySqlDataAdapter
| |--MySqlDataReader
| |--MySqlException
| |--MySqlParameter
| |--MySqlDbType
| |--MySqlError
| |--MySqlHelper
| |--MySqlScript
|--MySql.Data.Types

You can see the total content of the Provider by using the Object Browser in Visual Studio 2005.

Using the Code

The code was tested using C# and Visual Studio 2005.

C#
using System;
using System.Collections.Generic;
using System.Text;
using MySql;
using MySql.Data;
using MySql.Data.MySqlClient;

namespace ConsoleApp
{
    class Program
       {
              static void Main(string[] args)
              {
                    //Set up connection string
                    string connString = @"
                        server = localhost;
                        database = cart;
                        user id = root;
                password =;
                ";
                    //Set up query string
                    string sql = @" select * from members ";

            MySqlConnection conn = null;
            MySqlDataReader reader = null;

            try
            {
                //open connection
                conn = new MySqlConnection(connString);
                conn.Open();

                //Execute the Query
                MySqlCommand cmd = new MySqlCommand(sql, conn);
                reader = cmd.ExecuteReader();

                //Display output header
                Console.WriteLine("This program demonstrates the use of"
                    + "the MYSQL Server Data Provider");

                Console.WriteLine("Querying the database {0} with {1}\n"
                    , conn.Database
                    , cmd.CommandText
                    );

                Console.WriteLine("{0} | {1}"
                    ,"Firstname".PadLeft(10)
                    ,"Lastname".PadLeft(10)
                    );

                //Process the result set
                while (reader.Read())
                {
                    Console.WriteLine("{0} | {1}"
                        , reader["fname"].ToString().PadLeft(10)
                        , reader["lname"].ToString().PadLeft(10)
                        );
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error " + e);
            }
            finally
            {
                reader.Close();
                conn.Close();
            }
            }
        }
}  

To test, just use the Ctrl + F5 combination.

Points of Interest

Being a junior and a novice in writing an article, I had to use a reference.
A good book on the subject C# and SSE is "Beginning C# 2005 Databases".

History

  • 22nd March, 2008: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Belgium Belgium
Developer within C#, Dynamics NAV (Navision), Php environments.

Comments and Discussions

 
GeneralMy vote of 1 Pin
cohay_indonesia12-Mar-10 20:37
cohay_indonesia12-Mar-10 20:37 
GeneralRe: My vote of 1 Pin
AspDotNetDev3-May-11 9:15
protectorAspDotNetDev3-May-11 9:15 
Generalsimplified mysql approach [modified] Pin
anoftc16-Oct-09 5:54
anoftc16-Oct-09 5:54 
GeneralRe: simplified mysql approach Pin
Karavaev Denis5-Sep-11 2:38
Karavaev Denis5-Sep-11 2:38 
Useful, thanks, but include in your class next time this:

C#
string FProto;
string FPipe;
MySqlConnection conn;

public wMySql(string server, string user, string pass, string db, string proto, string pipe)
{
    FServer = server; FUser = user; FPass = pass; FDB = db; FProto = proto; FPipe = pipe;
    FConnStr = "server = " + FServer + ";\n" +
               "database = " + FDB + ";\n" +
               "user id = " + FUser + ";\n" +
               "password = " + FPass + ";\n" +
               "Protocol = " + FProto + ";\n" +
               "pipe = " + FPipe + ";\n";

    conn = new MySqlConnection(FConnStr);
    conn.Open();


some people use named pipes to connect to mysql, not tcp

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.