您的位置:首页 > 数据库 > MySQL

C#连接mysql资料整理

2012-12-14 17:26 351 查看
http://yuexiaodong2011.blog.163.com/blog/static/17133630920120585028530/

2012-01-05 20:50:28| 分类: C#学习 | 标签:c# mysql |字号 订阅

第三方组件:Mysql.Data.dll

说明:去官方网站下载Mysql.Data.dll,然后在项目中添加该组件的引用,在代码页里输入using Mysql.Data.MysqlClient,我们就可以顺利的使用该类库的函数建立连接了。

以下是几个常用函数:

#region 建立MySql数据库连接

/// <summary>

/// 建立数据库连接.

/// </summary>

/// <returns>返回MySqlConnection对象</returns>

public MySqlConnection getmysqlcon()

{

string M_str_sqlcon = "server=localhost;user
id=root;password=root;database=abc"; //根据自己的设置

MySqlConnection myCon = new MySqlConnection(M_str_sqlcon);

return myCon;

}

#endregion

#region 执行MySqlCommand命令

/// <summary>

/// 执行MySqlCommand

/// </summary>

/// <param name="M_str_sqlstr">SQL语句</param>

public void getmysqlcom(string M_str_sqlstr)

{

MySqlConnection mysqlcon = this.getmysqlcon();

mysqlcon.Open();

MySqlCommand mysqlcom = new MySqlCommand(M_str_sqlstr,
mysqlcon);

mysqlcom.ExecuteNonQuery();

mysqlcom.Dispose();

mysqlcon.Close();

mysqlcon.Dispose();

}

#endregion

#region 创建MySqlDataReader对象

/// <summary>

/// 创建一个MySqlDataReader对象

/// </summary>

/// <param name="M_str_sqlstr">SQL语句</param>

/// <returns>返回MySqlDataReader对象</returns>

public MySqlDataReader getmysqlread(string M_str_sqlstr)

{

MySqlConnection mysqlcon = this.getmysqlcon();

MySqlCommand mysqlcom = new MySqlCommand(M_str_sqlstr,
mysqlcon);

mysqlcon.Open();

MySqlDataReader mysqlread = mysqlcom.ExecuteReader(CommandBehavior.CloseConnection);

return mysqlread;

}

#endregion

另一篇:

测试环境:Windows XP + MySql 5.0.24 + Visual C# 2008 Exdivss Edition

By lucas 2008.12.29

1、用MySQLDriverCS连接MySQL数据库

先下载和安装MySQLDriverCS,地址:

http://sourceforge.net/projects/mysqldrivercs/

在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中

注:我下载的是版本是 MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2.0.exe

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.Odbc;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using MySQLDriverCS;

namespace mysql

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender,
EventArgs e)

{

MySQLConnection
conn = null;

conn
= new MySQLConnection(new MySQLConnectionString("localhost", "inv", "root", "831025").AsString);

conn.Open();

MySQLCommand
commn = new MySQLCommand("set names gb2312", conn);

commn.ExecuteNonQuery();

string
sql = "select * from exchange ";

MySQLDataAdapter
mda = new MySQLDataAdapter(sql, conn);

DataSet
ds = new DataSet();

mda.Fill(ds,
"table1");

this.dataGrid1.DataSource
= ds.Tables["table1"];

conn.Close();

}

}

}

2、通过ODBC访问mysql数据库:

参考:http://www.microsoft.com/china/community/Column/63.mspx

1. 安装Microsoft ODBC.net:我安装的是mysql-connector-odbc-3.51.22-win32.msi

2. 安装MDAC 2.7或者更高版本:我安装的是mdac_typ.exe 2.7简体中文版

3. 安装MySQL的ODBC驱动程序:我安装的是 odbc_net.msi

4. 管理工具 -> 数据源ODBC –>配置DSN…

5. 解决方案管理中添加引用 Microsoft.Data.Odbc.dll(1.0.3300)

6. 代码中增加引用 using Microsoft.Data.Odbc;

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Drawing;

using System.Linq; //vs2005好像没有这个命名空间,在c#2008下测试自动生成的

using System.Text;

using System.Windows.Forms;

using Microsoft.Data.Odbc;

namespace mysql

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender,
EventArgs e)

{

string
MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +

"SERVER=localhost;"
+

"DATABASE=inv;"
+

"UID=root;"
+

"PASSWORD=831025;"
+

"OPTION=3";

OdbcConnection
MyConnection = new OdbcConnection(MyConString);

MyConnection.Open();

Console.WriteLine("\n
success, connected successfully !\n");

string
query = "insert into test values( ''hello'', ''lucas'', ''liu'')";

OdbcCommand
cmd = new OdbcCommand(query, MyConnection);

//处理异常:插入重复记录有异常

try{

cmd.ExecuteNonQuery();

}

catch(Exception ex){

Console.WriteLine("record
duplicate.");

}finally{

cmd.Dispose();

}

/

/

MyConnection.Close();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: