




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C# 連接MYSQL數(shù)據(jù)庫的方法及示例連接MYSQL數(shù)據(jù)庫的方法及示例 方法一:using MySql.Data using MySql.Data.MySqlClient; 其他操作跟SQL是差不多,無非就是前綴變成MySql了. 補(bǔ)充: 下面是連接字符串,供參考. MySqlConnection con = new MySql.Data.MySqlClient.MySqlConnection("Database='testdb'Data Source='localhost'User Id='db'Password='apple
2、'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數(shù)據(jù)庫設(shè)計(jì)的.NET訪問組件。 安裝完成該組件后,引用命名空間MySql.Data.MySqlClient; 使用命令行編譯時(shí):csc /r:MySql.Data.dll test.cs 方法二: 通過ODBC訪
3、問MYSQL數(shù)據(jù)庫 訪問前要先下載兩個(gè)組件:和MYSQL的ODBC驅(qū)動(dòng)(MySQL Connector/ODBC (MyODBC) driver)目前為3.51版 安裝完成后,即可通過ODBC訪問MYSQL數(shù)據(jù)庫 方法三: 使用CoreLab推出的MYSQL訪問組件,面向.NET 安裝完成后,引用命名空間:CoreLab.MySql; 使用命令編譯時(shí):csc /r:CoreLab.MySql.dll test.cs 以下為訪問MYSQL數(shù)據(jù)庫實(shí)例 編譯指令:csc /r:CoreLab.MySql.dll /r:MySql.Data.dll test.cs using System; usin
4、g 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); mycn.Op
5、en(); 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=root;
6、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(); OdbcCommand
7、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 Source=loc
8、alhost;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(msdr.Get
9、String(0); msdr.Close(); mycn.Close(); public static void Main() ConnectMySql ms = new ConnectMySql(); ms.Connect_CoreLab(); ms.Connect_Odbc(); Connect_Net(); 1、用MySQLDriverCS連接MySQL數(shù)據(jù)庫先下載和安裝MySQLDriverCS,地址:在安裝文件夾下面找到MySQLDriver.dll,然后將MySQLDriver.dll添加引用到項(xiàng)目中注:我下載的是版本是 MySQLDriverCS-n-EasyQueryTool
10、s-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 F
11、orm1() 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 MySQLComm
12、and("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(
13、); 2、通過ODBC訪問mysql數(shù)據(jù)庫: 參考: 1. 安裝Microsoft ODBC.net:我安裝的是mysql-connector-odbc-3.51.22-win32.msi2. 安裝MDAC 2.7或者更高版本:我安裝的是mdac_typ.exe 2.7簡(jiǎn)體中文版3. 安裝MySQL的ODBC驅(qū)動(dòng)程序:我安裝的是 odbc_net.msi4. 管理工具 -> 數(shù)據(jù)源ODBC >配置DSN5. 解決方案管理中添加引用 Microsoft.Data.Odbc.dll(1.0.3300)6. 代碼中增加引用 using Microsoft.Data.Odbc; using
14、 System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Linq; /vs2005好像沒有這個(gè)命名空間,在c#2008下測(cè)試自動(dòng)生成的using System.Text;using System.Windows.Forms;using Microsoft.Data.Odbc; namespace mysql public partial class Form1 : Form public Form1() InitializeComponent()
15、; 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 OdbcConnec
16、tion(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、常:插入重復(fù)記錄有異常try cmd.ExecuteNonQuery();catch(Exception ex) Console.WriteLine("record duplicate.");finally cmd.Dispose(); /*用read方法讀數(shù)據(jù)到textbox* string tmp1 = null; string tmp2 = null; string tmp3 = null; query = "select * from test " OdbcCommand cmd2 = new OdbcCommand(query, MyConne
18、ction); OdbcDataReader reader = cmd2.ExecuteReader(); while (reader.Read() tmp1 = reader0.ToString(); tmp2 = reader1.ToString(); tmp3 = reader2.ToString(); this.textBox1.Text = tmp1 + " " + tmp2 + " " + tmp3; */ /*用datagridview控件顯示數(shù)據(jù)表*string MyConString = "DRIVER=MySQL ODBC
19、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 ", My
20、Connection);DataSet ds = new DataSet(); oda.Fill(ds, "employee"); this.dataGridView1.DataSource = ds.Tables"employee"*/ MyConnection.Close(); 文章出處:1、用MySQLDriverCS連接MySQL數(shù)據(jù)庫先下載和安裝MySQLDriverCS,地址:在安裝文件夾下面找到MySQLDriver.dll,然后將MySQLDriver.dll添加引用到項(xiàng)目中注:我下載的是版本是 MySQLDriverCS-n-EasyQ
21、ueryTools-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
22、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 M
23、ySQLCommand("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" con
24、n.Close(); 2、通過ODBC訪問mysql數(shù)據(jù)庫: 參考: 1. 安裝Microsoft ODBC.net:我安裝的是mysql-connector-odbc-3.51.22-win32.msi2. 安裝MDAC 2.7或者更高版本:我安裝的是mdac_typ.exe 2.7簡(jiǎn)體中文版3. 安裝MySQL的ODBC驅(qū)動(dòng)程序:我安裝的是 odbc_net.msi4. 管理工具 -> 數(shù)據(jù)源ODBC >配置DSN5. 解決方案管理中添加引用 Microsoft.Data.Odbc.dll(1.0.3300)6. 代碼中增加引用 using Microsoft.Data.Odb
25、c; using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Linq; /vs2005好像沒有這個(gè)命名空間,在c#2008下測(cè)試自動(dòng)生成的using System.Text;using System.Windows.Forms;using Microsoft.Data.Odbc; namespace mysql public partial class Form1 : Form public Form1() InitializeCom
26、ponent(); 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 Od
27、bcConnection(MyConString); MyConnection.Open(); Console.WriteLine("n success, connected successfully !n"); string query = "insert into test values( ''hello'', ''lucas'', ''liu'')" OdbcCommand cmd = new OdbcCommand(query, MyConnectio
28、n); /處理異常:插入重復(fù)記錄有異常try cmd.ExecuteNonQuery();catch(Exception ex) Console.WriteLine("record duplicate.");finally cmd.Dispose(); /*用read方法讀數(shù)據(jù)到textbox* string tmp1 = null; string tmp2 = null; string tmp3 = null; query = "select * from test " OdbcCommand cmd2 = new OdbcCommand(query,
29、 MyConnection); OdbcDataReader reader = cmd2.ExecuteReader(); while (reader.Read() tmp1 = reader0.ToString(); tmp2 = reader1.ToString(); tmp3 = reader2.ToString(); this.textBox1.Text = tmp1 + " " + tmp2 + " " + tmp3; */ /*用datagridview控件顯示數(shù)據(jù)表*string MyConString = "DRIVER=MyS
30、QL 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 &q
31、uot;, MyConnection);DataSet ds = new DataSet(); oda.Fill(ds, "employee"); this.dataGridView1.DataSource = ds.Tables"employee"*/ MyConnection.Close(); 文章出處:C#連接mysql數(shù)據(jù)庫 1.連接:1.安裝Microsoft ODBC.net。2.安裝MySQL的ODBC驅(qū)動(dòng)程序。2.解決方案管理中添加引用Microsoft.Data.Odbc.dll(1.0.3300)3.代碼中增加引用usi
32、ng 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 = new Odbc
33、Connection(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* * cs
34、c /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=localhost
35、;" +"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;" +&
36、quot;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("Connec
37、tion Information:"); Console.WriteLine("tConnection String:" + MyConnection.ConnectionString); Console.WriteLine("tConnection Timeout:" + MyConnection.ConnectionTimeout); Console.WriteLine("tDatabase:" + MyConnection.Database); Console.WriteLine("tDataSource:&
38、quot; + 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);MyComman
39、d.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 affected:&quo
40、t; + 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,'mysq
41、l',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(*) MyCommand
42、.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 (MyDataReader.Read
43、()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:" +
44、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 < M
45、yOdbcException.Errors.Count; i+)Console.Write("ERROR #" + i + "n" +"Message: " + MyOdbcException.Errorsi.Message + "n" +"Native: " + MyOdbcException.Errorsi.NativeError.ToString() + "n" +"Source: " + MyOdbcException.Errorsi.Source
46、 + "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=;" +&qu
47、ot;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;currentP
48、age = 1;recNo = 0;LoadPage();這是前一段需要用到,精選了一些資料,希望對(duì)大家有幫助.using System;using System.Configuration;using MySql.Data.MySqlClient;/ <summary>/ TestDatebase 的摘要說明/ </summary>public class TestDatebase public TestDatebase()
49、160; / / TODO: 在此處添加構(gòu)造函數(shù)邏輯 / 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語句 Cons
53、ole.WriteLine ( sqlDel ); /四種語句對(duì)象 /MySqlCommand mySqlCommand = getSqlCommand(sqlSearch, mysql); /MySqlCommand mySqlCommand = getSqlCommand(sqlInsert, mysql);
54、160; /MySqlCommand mySqlCommand = getSqlCommand(sqlUpdate, mysql); MySqlCommand mySqlCommand = getSqlCommand ( sqlDel, mysql ); mysql.Open();
55、 /getResultset(mySqlCommand); /getInsert(mySqlCommand); /getUpdate(mySqlCommand); getDel ( mySqlCommand );
56、 /記得關(guān)閉 mysql.Close(); String readLine = Console.ReadLine(); / <summary> / 建立mysql數(shù)據(jù)庫鏈接 / &
57、lt;/summary> / <returns></returns> public static MySqlConnection getMySqlCon() String mysqlStr = "Database=test;Data Source=;User Id=root;P
58、assword=root;pooling=false;CharSet=utf8;port=3306" / String mySqlCon = ConfigurationManager.ConnectionStrings"MySqlCon".ConnectionString; MySqlConnection mysql = new MySqlConnection ( mysqlStr ); return mysql; / <summary> / 建立執(zhí)行命令語句對(duì)象 / </summary>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 茶園有機(jī)種植與產(chǎn)品銷售合同
- 現(xiàn)代化工廠廠長任用與職業(yè)規(guī)劃合同
- 老師制作課件的職業(yè)
- 金屬材料典當(dāng)質(zhì)押貸款協(xié)議
- 美術(shù)臉譜說課課件
- 美術(shù)開學(xué)介紹課件
- 美術(shù)創(chuàng)意兒童課件
- 安全生產(chǎn)事故會(huì)議內(nèi)容
- 安全生產(chǎn)智慧化管理
- 安全行車心得體會(huì)部隊(duì)
- 勞動(dòng)教育與數(shù)學(xué)作業(yè)深度融合 全面培養(yǎng)學(xué)生的勞動(dòng)素養(yǎng)
- 中國質(zhì)譜儀行業(yè)發(fā)展趨勢(shì)及發(fā)展前景研究報(bào)告2025-2028版
- 2025至2030中國直聯(lián)式真空泵行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展報(bào)告
- 催乳師職業(yè)資格培訓(xùn)課件
- 人工智能技術(shù)在醫(yī)療行業(yè)應(yīng)用案例研究報(bào)告
- 2025年高考云南卷歷史高考真題(無答案)
- 痛風(fēng)治療與護(hù)理課件
- 2025-2030中國輔助生殖技術(shù)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 中醫(yī)茶飲培訓(xùn)課件模板
- (湖北省高考卷)2024年湖北省普通高中學(xué)業(yè)水平選擇性考試高考物化生+政史地真題試卷及答案
- 康養(yǎng)醫(yī)養(yǎng)中心建設(shè)項(xiàng)目可行性研究報(bào)告
評(píng)論
0/150
提交評(píng)論