两种C#连接数据库方法包括用MySQL DriverCS连接MySQL数据库和通过ODBC访问MySQL数据库。希望这些能对大家有所帮助。
C#连接数据库1、用MySQL DriverCS连接MySQL数据库
先下载和安装MySQL DriverCS,地址:
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();
- }
- }
- }
C#连接数据库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();
- }
- //***********************用read方法读数据到textbox**********************
- string tmp1 = null;
- string tmp2 = null;
- string tmp3 = null;
- query = "select * from test ";
- OdbcCommand cmd2 = new OdbcCommand(query, MyConnection);
- OdbcDataReader reader = cmd2.ExecuteReader();
- while (reader.Read())
- {
- tmp1 = reader[0].ToString();
- tmp2 = reader[1].ToString();
- tmp3 = reader[2].ToString();
- }
- this.textBox1.Text = tmp1 + " " + tmp2 + " " + tmp3;
- */
- //************************用datagridview控件显示数据表**************************
- string MyConString = "DRIVER={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 customer ", MyConnection);
- DataSet ds = new DataSet();
- oda.Fill(ds, "employee");
- this.dataGridView1.DataSource = ds.Tables["employee"];
- */
- MyConnection.Close();
- }
- }
- }
【编辑推荐】