C#-连接MYSQL数据库的3种方法及示例参考模板_第1页
C#-连接MYSQL数据库的3种方法及示例参考模板_第2页
C#-连接MYSQL数据库的3种方法及示例参考模板_第3页
C#-连接MYSQL数据库的3种方法及示例参考模板_第4页
C#-连接MYSQL数据库的3种方法及示例参考模板_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C# 连接MYSQL数据库的方法及示例连接MYSQL数据库的方法及示例 方法一:1 / 27using MySql.Data using MySql.Data.MySqlClient; 其他操作跟SQL是差不多,无非就是前缀变成MySql了. 补充: 下面是连接字符串,供参考. MySqlConnection con = new MySql.Data.MySqlClient.MySqlConnection("Database='testdb'Data Source='localhost'User Id='db'Password='

2、;apple'charset='utf8'"); con.Open(); MySqlCommand cmd = new MySqlCommand(); cmd.Connection = con; 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET访问MYSQL数据库设计的.NET访问组件。 安装完成该组件后,引用命名空间MySql.Data.MySqlClient; 使用命令行编译时:csc /r:MySql.Data.dll test.cs 方法二: 通

3、过ODBC访问MYSQL数据库 访问前要先下载两个组件:和MYSQL的ODBC驱动(MySQL Connector/ODBC (MyODBC) driver)目前为3.51版 安装完成后,即可通过ODBC访问MYSQL数据库 方法三: 使用CoreLab推出的MYSQL访问组件,面向.NET 安装完成后,引用命名空间:CoreLab.MySql; 使用命令编译时:csc /r:CoreLab.MySql.dll test.cs 以下为访问MYSQL数据库实例 编译指令:csc /r:CoreLab.MySql.dll /r:MySql.Data.dll test.cs using System

4、; using System.Net; using System.Text; using CoreLab.MySql; using System.Data.Odbc; using MySql.Data.MySqlClient; class ConnectMySql public void Connect_CoreLab() string constr = "User Id=root;Host=localhost;Database=qing;password=qing" MySqlConnection mycn = new MySqlConnection(constr); m

5、ycn.Open(); MySqlCommand mycm = new MySqlCommand("select * from shop",mycn); MySqlDataReader msdr = mycm.ExecuteReader(); while(msdr.Read() if (msdr.HasRows) Console.WriteLine(msdr.GetString(0); msdr.Close(); mycn.Close(); public void Connect_Odbc() /string MyConString ="DSN=MySQL;UID

6、=root;PWD=qing" string MyConString = "DRIVER=MySQL ODBC 3.51 Driver;" + "SERVER=localhost;" + "DATABASE=test;" + "UID=root;" + "PASSWORD=qing;" + "OPTION=3" OdbcConnection MyConn = new OdbcConnection(MyConString); MyConn.Open(); OdbcCo

7、mmand mycm = new OdbcCommand("select * from hello",MyConn); OdbcDataReader msdr = mycm.ExecuteReader(); while(msdr.Read() if (msdr.HasRows) Console.WriteLine(msdr.GetString(0); msdr.Close(); MyConn.Close(); public void Connect_Net() string myConnectionString = "Database=test;Data Sour

8、ce=localhost;User Id=root;Password=qing" MySqlConnection mycn = new MySqlConnection(myConnectionString); mycn.Open(); MySqlCommand mycm = new MySqlCommand("select * from hello",mycn); MySqlDataReader msdr = mycm.ExecuteReader(); while(msdr.Read() if (msdr.HasRows) Console.WriteLine(ms

9、dr.GetString(0); msdr.Close(); mycn.Close(); public static void Main() ConnectMySql ms = new ConnectMySql(); ms.Connect_CoreLab(); ms.Connect_Odbc(); Connect_Net(); 1、用MySQLDriverCS连接MySQL数据库先下载和安装MySQLDriverCS,地址:在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中注:我下载的是版本是 MySQLDriverCS-n-EasyQue

10、ryTools-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 pu

11、blic 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 MyS

12、QLCommand("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.

13、Close(); 2、通过ODBC访问mysql数据库: 参考: 1. 安装Microsoft ODBC.net:我安装的是mysql-connector-odbc-3.51.22-win32.msi2. 安装MDAC 2.7或者更高版本:我安装的是mdac_typ.exe 2.7简体中文版3. 安装MySQL的ODBC驱动程序:我安装的是 odbc_net.msi4. 管理工具 -> 数据源ODBC >配置DSN5. 解决方案管理中添加引用 Microsoft.Data.Odbc.dll(1.0.3300)6. 代码中增加引用 using Microsoft.Data.Odbc;

14、 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() InitializeCompo

15、nent(); 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 Odbc

16、Connection(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)

17、; /处理异常:插入重复记录有异常try cmd.ExecuteNonQuery();catch(Exception ex) Console.WriteLine("record duplicate.");finally cmd.Dispose(); /*用read方法读数据到textbox* string tmp1 = null; string tmp2 = null; string tmp3 = null; query = "select * from test " OdbcCommand cmd2 = new OdbcCommand(query, M

18、yConnection); OdbcDataReader reader = cmd2.ExecuteReader(); while (reader.Read() tmp1 = reader0.ToString(); tmp2 = reader1.ToString(); tmp3 = reader2.ToString(); this.textBox1.Text = tmp1 + " " + tmp2 + " " + tmp3; */ /*用datagridview控件显示数据表*string MyConString = "DRIVER=MySQL

19、 ODBC 3.51 Driver;" + "SERVER=localhost;" + "DATABASE=inv;" + "UID=root;" + "PASSWORD=831025;" + "OPTION=3" OdbcConnection MyConnection = new OdbcConnection(MyConString);OdbcDataAdapter oda = new OdbcDataAdapter("select * from customer &quo

20、t;, MyConnection);DataSet ds = new DataSet(); oda.Fill(ds, "employee"); this.dataGridView1.DataSource = ds.Tables"employee"*/ MyConnection.Close(); 文章出处:1、用MySQLDriverCS连接MySQL数据库先下载和安装MySQLDriverCS,地址:在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中注:我下载的是版本是 MySQLDriverCS-n

21、-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 :

22、 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 =

23、 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&quo

24、t; conn.Close(); 2、通过ODBC访问mysql数据库: 参考: 1. 安装Microsoft ODBC.net:我安装的是mysql-connector-odbc-3.51.22-win32.msi2. 安装MDAC 2.7或者更高版本:我安装的是mdac_typ.exe 2.7简体中文版3. 安装MySQL的ODBC驱动程序:我安装的是 odbc_net.msi4. 管理工具 -> 数据源ODBC >配置DSN5. 解决方案管理中添加引用 Microsoft.Data.Odbc.dll(1.0.3300)6. 代码中增加引用 using Microsoft.Da

25、ta.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() Initial

26、izeComponent(); 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 =

27、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, MyCon

28、nection); /处理异常:插入重复记录有异常try cmd.ExecuteNonQuery();catch(Exception ex) Console.WriteLine("record duplicate.");finally cmd.Dispose(); /*用read方法读数据到textbox* string tmp1 = null; string tmp2 = null; string tmp3 = null; query = "select * from test " OdbcCommand cmd2 = new OdbcCommand(

29、query, MyConnection); OdbcDataReader reader = cmd2.ExecuteReader(); while (reader.Read() tmp1 = reader0.ToString(); tmp2 = reader1.ToString(); tmp3 = reader2.ToString(); this.textBox1.Text = tmp1 + " " + tmp2 + " " + tmp3; */ /*用datagridview控件显示数据表*string MyConString = "DRIV

30、ER=MySQL ODBC 3.51 Driver;" + "SERVER=localhost;" + "DATABASE=inv;" + "UID=root;" + "PASSWORD=831025;" + "OPTION=3" OdbcConnection MyConnection = new OdbcConnection(MyConString);OdbcDataAdapter oda = new OdbcDataAdapter("select * from custo

31、mer ", MyConnection);DataSet ds = new DataSet(); oda.Fill(ds, "employee"); this.dataGridView1.DataSource = ds.Tables"employee"*/ MyConnection.Close(); 文章出处:C#连接mysql数据库   1.连接:1.安装Microsoft ODBC.net。2.安装MySQL的ODBC驱动程序。2.解决方案管理中添加引用Microsoft.Data.Odbc.dll(1.0.3300)3.代码中增

32、加引用using Microsoft.Data.Odbc;4.编写代码string MyConString = "DRIVER=MySQL ODBC 3.51 Driver;" + "SERVER=localhost;" +"DATABASE=samp_db;" +"UID=root;" +"PASSWORD=;" +"OPTION=3"/Connect to MySQL using Connector/ODBCOdbcConnection MyConnection = ne

33、w OdbcConnection(MyConString); MyConnection.Open();Console.WriteLine("n ! success, connected successfully !n"); MyConnection.Close();2.全部例程:/* sample : mycon.cs* purpose : Demo sample for ODBC.NET using Connector/ODBC* author : Venu, venu* (C) Copyright MySQL AB, 1995-2003*/* build command

34、* * csc /t:exe * /out:mycon.exe mycon.cs * /r:Microsoft.Data.Odbc.dll */ using Console = System.Console;using Microsoft.Data.Odbc;namespace myodbc3class myconstatic void Main(string args)try /Connection string for Connector/ODBC 2.50/*string MyConString = "DRIVER=MySQL;" + "SERVER=loc

35、alhost;" +"DATABASE=test;" +"UID=venu;" +"PASSWORD=venu;" +"OPTION=3"*/Connection string for Connector/ODBC 3.51string MyConString = "DRIVER=MySQL ODBC 3.51 Driver;" + "SERVER=localhost;" +"DATABASE=test;" +"UID=venu;&qu

36、ot; +"PASSWORD=venu;" +"OPTION=3"/Connect to MySQL using Connector/ODBCOdbcConnection MyConnection = new OdbcConnection(MyConString); MyConnection.Open();Console.WriteLine("n ! success, connected successfully !n"); /Display connection informationConsole.WriteLine("

37、Connection Information:"); Console.WriteLine("tConnection String:" + MyConnection.ConnectionString); Console.WriteLine("tConnection Timeout:" + MyConnection.ConnectionTimeout); Console.WriteLine("tDatabase:" + MyConnection.Database); Console.WriteLine("tDataSo

38、urce:" + MyConnection.DataSource);Console.WriteLine("tDriver:" + MyConnection.Driver);Console.WriteLine("tServerVersion:" + MyConnection.ServerVersion);/Create a sample tableOdbcCommand MyCommand = new OdbcCommand("DROP TABLE IF EXISTS my_odbc_net",MyConnection);My

39、Command.ExecuteNonQuery();MyCommand.CommandText = "CREATE TABLE my_odbc_net(id int, name varchar(20), idb bigint)"MyCommand.ExecuteNonQuery();/InsertMyCommand.CommandText = "INSERT INTO my_odbc_net VALUES(10,'venu', 300)" Console.WriteLine("INSERT, Total rows affecte

40、d:" + MyCommand.ExecuteNonQuery();/InsertMyCommand.CommandText = "INSERT INTO my_odbc_net VALUES(20,'mysql',400)" Console.WriteLine("INSERT, Total rows affected:" + MyCommand.ExecuteNonQuery();/InsertMyCommand.CommandText = "INSERT INTO my_odbc_net VALUES(20,

41、9;mysql',500)" Console.WriteLine("INSERT, Total rows affected:" + MyCommand.ExecuteNonQuery();/UpdateMyCommand.CommandText = "UPDATE my_odbc_net SET id=999 WHERE id=20" Console.WriteLine("Update, Total rows affected:" + MyCommand.ExecuteNonQuery();/COUNT(*) MyC

42、ommand.CommandText = "SELECT COUNT(*) as TRows FROM my_odbc_net" Console.WriteLine("Total Rows:" + MyCommand.ExecuteScalar();/FetchMyCommand.CommandText = "SELECT * FROM my_odbc_net" OdbcDataReader MyDataReader;MyDataReader = MyCommand.ExecuteReader();while (MyDataReade

43、r.Read()if(string.Compare(MyConnection.Driver,"myodbc3.dll") = 0) Console.WriteLine("Data:" + MyDataReader.GetInt32(0) + " " +MyDataReader.GetString(1) + " " +MyDataReader.GetInt64(2); /Supported only by Connector/ODBC 3.51else Console.WriteLine("Data:&qu

44、ot; + MyDataReader.GetInt32(0) + " " +MyDataReader.GetString(1) + " " + MyDataReader.GetInt32(2); /BIGINTs not supported by Connector/ODBC/Close all resourcesMyDataReader.Close();MyConnection.Close();catch (OdbcException MyOdbcException)/Catch any ODBC exception .for (int i=0; i

45、< MyOdbcException.Errors.Count; i+)Console.Write("ERROR #" + i + "n" +"Message: " + MyOdbcException.Errorsi.Message + "n" +"Native: " + MyOdbcException.Errorsi.NativeError.ToString() + "n" +"Source: " + MyOdbcException.Errorsi.

46、Source + "n" +"SQL: " + MyOdbcException.Errorsi.SQLState + "n");3.使用dataset填充dataGrid:OdbcConnection con = new OdbcConnection("DRIVER=MySQL ODBC 3.51 Driver;" + "SERVER=glf;" +"DATABASE=qxk_db;" +"UID=root;" +"PASSWORD=;"

47、; +"OPTION=3");da=new OdbcDataAdapter("select * from achi_eval",con);ds=new DataSet();da.Fill(ds,"customers");dtSource = ds.Tables"customers"pageSize=20;maxRec = dtSource.Rows.Count;PageCount = maxRec / pageSize;if (maxRec % pageSize) > 0) PageCount += 1;cu

48、rrentPage = 1;recNo = 0;LoadPage();这是前一段需要用到,精选了一些资料,希望对大家有帮助.using System;using System.Configuration;using MySql.Data.MySqlClient;/ <summary>/ TestDatebase 的摘要说明/ </summary>public class TestDatebase    public TestDatebase()  &#

49、160;         /        / TODO: 在此处添加构造函数逻辑        /        public static void Main ( String args )    

50、;        MySqlConnection mysql = getMySqlCon();        /查询sql        String sqlSearch = "select * from student"        /插入sql

51、        String sqlInsert = "insert into student values (12,'张三',25,'大专')"        /修改sql        String sqlUpdate = "update student set name=

52、'李四' where id= 3"        /删除sql        String sqlDel = "delete from student where id = 12"        /打印SQL语句       

53、0;Console.WriteLine ( sqlDel );        /四种语句对象        /MySqlCommand mySqlCommand = getSqlCommand(sqlSearch, mysql);        /MySqlCommand mySqlCommand = getSqlCommand(sqlInsert, mys

54、ql);        /MySqlCommand mySqlCommand = getSqlCommand(sqlUpdate, mysql);        MySqlCommand mySqlCommand = getSqlCommand ( sqlDel, mysql );        mysql.Open();   

55、     /getResultset(mySqlCommand);        /getInsert(mySqlCommand);        /getUpdate(mySqlCommand);        getDel ( mySqlCommand );    

56、    /记得关闭        mysql.Close();        String readLine = Console.ReadLine();        / <summary>    / 建立mysql数据库链接   

57、60;/ </summary>    / <returns></returns>    public static MySqlConnection getMySqlCon()            String mysqlStr = "Database=test;Data Source=;User Id=

58、root;Password=root;pooling=false;CharSet=utf8;port=3306"        / String mySqlCon = ConfigurationManager.ConnectionStrings"MySqlCon".ConnectionString;        MySqlConnection mysql = new MySqlConnection ( mysqlStr );        return mysql;       

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论