日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

[转]C#连接操作mysql实例

發(fā)布時間:2023/12/19 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]C#连接操作mysql实例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文轉(zhuǎn)自:http://hi.baidu.com/zhqngweng/item/c4d2520cb7216877bfe97edf

第三方組件:Mysql.Data.dll
說明:去官方網(wǎng)站下載Mysql.Data.dll,然后在項目中添加該組件的引用,在代碼頁里輸入using Mysql.Data.MysqlClient,我們就可以順利的使用該類庫的函數(shù)建立連接了。

以下是幾個常用函數(shù):

#region? 建立MySql數(shù)據(jù)庫連接
??? /// <summary>
??? /// 建立數(shù)據(jù)庫連接.
??? /// </summary>
??? /// <returns>返回MySqlConnection對象</returns>
??? public MySqlConnection getmysqlcon()
??? {
??????? string M_str_sqlcon = "server=localhost;user id=root;password=root;database=abc"; //根據(jù)自己的設(shè)置
??????? MySqlConnection myCon = new MySqlConnection(M_str_sqlcon);
??????? return myCon;
??? }
??? #endregion

??? #region? 執(zhí)行MySqlCommand命令
??? /// <summary>
??? /// 執(zhí)行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? 創(chuàng)建MySqlDataReader對象
??? /// <summary>
??? /// 創(chuàng)建一個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

?

?

?

另一篇:

?

測試環(huán)境:Windows XP + MySql 5.0.24 + Visual C# 2008 Exdivss Edition
By lucas 2008.12.29
1、用MySQLDriverCS連接MySQL數(shù)據(jù)庫
先下載和安裝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數(shù)據(jù)庫:
參考: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驅(qū)動程序:我安裝的是 odbc_net.msi
4.????? 管理工具 -> 數(shù)據(jù)源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);
??????????? //處理異常:插入重復(fù)記錄有異常
try{
?? cmd.ExecuteNonQuery();
}
catch(Exception ex){
???????????????? Console.WriteLine("record duplicate.");
}finally{
???????????????? cmd.Dispose();
}
/
/
?????????? MyConnection.Close();
??????? }
??? }
}

使用示例:

using System;
using System.Configuration;
using MySql.Data.MySqlClient;
/// <summary>
/// TestDatebase 的摘要說明
/// </summary>
public class TestDatebase
{
??? public TestDatebase()
??? {
??????? //
??????? // TODO: 在此處添加構(gòu)造函數(shù)邏輯
??????? //
??? }
??? public static void Main(String[] args)
??? {
??????? MySqlConnection mysql = getMySqlCon();
??????? //查詢sql
??????? String sqlSearch = "select * from student";
??????? //插入sql
??????? String sqlInsert = "insert into student values (12,'張三',25,'大專')";
??????? //修改sql
??????? String sqlUpdate = "update student set name='李四' where id= 3";
??????? //刪除sql
??????? String sqlDel = "delete from student where id = 12";
??????? //打印SQL語句
??????? Console.WriteLine(sqlDel);
??????? //四種語句對象
??????? //MySqlCommand mySqlCommand = getSqlCommand(sqlSearch, mysql);
??????? //MySqlCommand mySqlCommand = getSqlCommand(sqlInsert, mysql);
??????? //MySqlCommand mySqlCommand = getSqlCommand(sqlUpdate, mysql);
??????? MySqlCommand mySqlCommand = getSqlCommand(sqlDel, mysql);
??????? mysql.Open();
??????? //getResultset(mySqlCommand);
??????? //getInsert(mySqlCommand);
??????? //getUpdate(mySqlCommand);
??????? getDel(mySqlCommand);
??????? //記得關(guān)閉
??????? mysql.Close();
?????? String readLine = Console.ReadLine();
??? }
??? /// <summary>
??? /// 建立mysql數(shù)據(jù)庫鏈接
??? /// </summary>
??? /// <returns></returns>
??? public static MySqlConnection getMySqlCon()
??? {
??????? String mysqlStr = "Database=test;Data Source=127.0.0.1;User Id=root;Password=root;pooling=false;CharSet=utf8;port=3306";
??????? // String mySqlCon = ConfigurationManager.ConnectionStrings["MySqlCon"].ConnectionString;
??????? MySqlConnection mysql = new MySqlConnection(mysqlStr);
??????? return mysql;
??? }
??? /// <summary>
??? /// 建立執(zhí)行命令語句對象
??? /// </summary>
??? /// <param name="sql"></param>
??? /// <param name="mysql"></param>
??? /// <returns></returns>
??? public static MySqlCommand getSqlCommand(String sql,MySqlConnection mysql)
??? {
??????? MySqlCommand mySqlCommand = new MySqlCommand(sql, mysql);
??????? //? MySqlCommand mySqlCommand = new MySqlCommand(sql);
??????? // mySqlCommand.Connection = mysql;
??????? return mySqlCommand;
??? }
??? /// <summary>
??? /// 查詢并獲得結(jié)果集并遍歷
??? /// </summary>
??? /// <param name="mySqlCommand"></param>
??? public static void getResultset(MySqlCommand mySqlCommand)
??? {
??????? MySqlDataReader reader = mySqlCommand.ExecuteReader();
??????? try
??????? {
??????????? while (reader.Read())
??????????? {
??????????????? if (reader.HasRows)
??????????????? {
??????????????????? Console.WriteLine("編號:" + reader.GetInt32(0) + "|姓名:" + reader.GetString(1) + "|年齡:" + reader.GetInt32(2) + "|學(xué)歷:" + reader.GetString(3));
??????????????? }
??????????? }
??????? }
??????? catch (Exception)
??????? {

??????????? Console.WriteLine("查詢失敗了!");
??????? }
??????? finally
??????? {
??????????? reader.Close();
??????? }
??? }
??? /// <summary>
??? /// 添加數(shù)據(jù)
??? /// </summary>
??? /// <param name="mySqlCommand"></param>
??? public static void getInsert(MySqlCommand mySqlCommand)
??? {
??????? try
??????? {
??????????? mySqlCommand.ExecuteNonQuery();
??????? }
??????? catch (Exception ex)
??????? {
??????????? String message = ex.Message;
??????????? Console.WriteLine("插入數(shù)據(jù)失敗了!" + message);
??????? }
??????
??? }
??? /// <summary>
??? /// 修改數(shù)據(jù)
??? /// </summary>
??? /// <param name="mySqlCommand"></param>
??? public static void getUpdate(MySqlCommand mySqlCommand)
??? {
??????? try
??????? {
??????????? mySqlCommand.ExecuteNonQuery();
??????? }
??????? catch (Exception ex)
??????? {

??????????? String message = ex.Message;
??????????? Console.WriteLine("修改數(shù)據(jù)失敗了!" + message);
??????? }
??? }
??? /// <summary>
??? /// 刪除數(shù)據(jù)
??? /// </summary>
??? /// <param name="mySqlCommand"></param>
??? public static void getDel(MySqlCommand mySqlCommand)
??? {
??????? try
??????? {
??????????? mySqlCommand.ExecuteNonQuery();
??????? }
??????? catch (Exception ex)
??????? {
??????????? String message = ex.Message;
??????????? Console.WriteLine("刪除數(shù)據(jù)失敗了!" + message);
??????? }
??? }
}

轉(zhuǎn)載于:https://www.cnblogs.com/xishuqingchun/p/5010423.html

總結(jié)

以上是生活随笔為你收集整理的[转]C#连接操作mysql实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。