一、用MySQLDriverCS连接MySQL数据库
先下载和安装MySQLDriverCS
注:建议大家在谷歌搜索下载地址,有很多,把下载的压缩包安装,然后打开根目录找到
MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中
二、通过ODBC访问mysql数据库:
1.安装Microsoft ODBC.net,还是去谷歌搜索。
2.安装MySQL的ODBC驱动程序
3.管理工具 -> 数据源ODBC –>配置DSN…
注;这是比较麻烦的时候了,我调试了好长时间才弄出来,大家试着做做,不行了,网上搜搜资料
4.解决方案管理中添加引用 Microsoft.Data.Odbc.dll(1.0.3300)
注:如果你用的是VISUAL STUDIO 2008,这个不用添加
5.代码中增加引用 using Microsoft.Data.Odbc;//但这个必须引入
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.Odbc;//这是第二种方法引入的命名空间
using MySQLDriverCS;//这是第一种方法引入的命名空间
namespace csharp_mysql
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{//这是第一种方法用于连接数据库的代码,他在窗体加载的过程中运行
//string str = " localhost, inv, root, 831025 ";//连接字符串得自己手写,如果你对这个不熟习,那没办法,就考虑用第二种方法了
//MySQLConnection mysqlconn = new MySQLConnection();
//mysqlconn.Open();
//MySQLCommand query = new MySQLCommand("select * from db",mysqlconn );
//MySQLDataAdapter adapter = new MySQLDataAdapter(query );
//DataSet ds = new DataSet();
//adapter.Fill(ds ,"table1");
//this .dataGridView1 .DataSource = ds.Tables["table1"];
//mysqlconn.Close();
}
private void button1_Click(object sender, EventArgs e)
{
//下面是第二种方法的代码,在你点击按钮button1后触发该事件,完成连接
string string1 = @"Dsn=mysql;server=localhost;uid=root;database=test;port=3306";
//采用第二种方法的方便之处就是连接字符串可以在图形界面中添加数据源时形成,这个是标准的,你可以拿过来直接用,建议用此种方法
string query = "select * from students";
OdbcConnection myconn = new OdbcConnection(string1);
OdbcCommand mycomm = new OdbcCommand(query, myconn);
OdbcDataAdapter adapter = new OdbcDataAdapter(mycomm);
DataSet ds = new DataSet();
adapter.Fill(ds );
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
//adapter.Fill(ds, "employee");
//this.dataGridView1.DataSource = ds.Tables["employee"];
myconn.Close();
}
private void button2_Click(object sender, EventArgs e)
{ //下面的代码可以实现数据的连接,插入,删除,修改,我都调试过,看懂了再拷代码
string string1 = @"Dsn=mysql;server=localhost;uid=root;database=test;port=3306";
string insertsql = "insert into students(ID,NAME,SEX)values('"+textBox1 .Text.Trim ()+ "','"+textBox2 .Text .Trim ()+"','"+textBox3 .Text .Trim ()+"')";
string delectsql = "delect from students where NAME=('"+textBox1 .Text .Trim()+"')";
string updatesql = "update students set NAME=('"+textBox1 .Text .Trim ()+"')";
//OdbcConnection myconn = new OdbcConnection(string1)
//OdbcCommand mycomm = new OdbcCommand(query, myconn);
//myconn.Open();
//mycomm.ExecuteNonQuery();//调用command.ExecuteNonQuery方法来插入数据,它还有修改,删除的功能,在不引入dataset的情况下
//myconn.Close();
using (OdbcConnection myconn = new OdbcConnection(string1))
{
OdbcCommand mycomm = new OdbcCommand(delectsql, myconn);
try
{
myconn.Open();
mycomm.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
myconn.Close();
}
}
}