现在的位置: 首页 > 综合 > 正文

c#连接mysql类

2013年09月02日 ⁄ 综合 ⁄ 共 2076字 ⁄ 字号 评论关闭
c#连接mysql类
需要安装mysql-connector-net-5.0.6.zip 并添加引用
连接字符串:data source=127.0.0.1;user id=root;pwd=;initial catalog=test;allow zero datetime=true
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MySql.Data.MySqlClient;
using System.IO;
using System.Windows.Forms;
namespace WindowsApplication1
{
    class DataConn
    {
        private   MySqlConnection myConnection;
        private   MySqlCommand myCommand;
        private   MySqlDataAdapter myAdapter;
        private   MySqlTransaction myTransaction;
        //建立DB连接
        public void getConnection()
        {
            StreamReader din = File.OpenText("TextFile.ini");
            string contString = din.ReadLine();
           try{
               myConnection = new MySqlConnection();
               myConnection.ConnectionString =contString;
               myConnection.Open();
               
            }
            catch (Exception  ex) {
                Console.WriteLine(ex);
                MessageBox.Show("连接失败!");   
            }
        }
      //数据查询操作
       public DataTable executeQuery(String sql){
           DataTable myTable;
           try{
              myCommand = myConnection.CreateCommand();
              myCommand.CommandText = sql;
              myAdapter= new MySqlDataAdapter(myCommand);
              DataSet mySet  = new DataSet();
              myAdapter.Fill(mySet, "selectDa");
              myTable = mySet.Tables["selectDa"];
              return myTable;
           }catch(Exception ex){
              Console.WriteLine(ex);
              myTable = new DataTable();
              MessageBox.Show("数据发生错误!");   
              return myTable;
          }
       }
    
       //数据插入,删除,更新操作
      public  Boolean executeUpdate(String sql) {
        try{
              myCommand = myConnection.CreateCommand();
              myCommand.CommandText = sql;
              myCommand.ExecuteNonQuery();
              if (myTransaction == null)
              {
                  myConnection.Close();
                  myConnection = null;
              }
              return true;
          }catch(Exception ex){
              if (myTransaction != null)
              {
                  myTransaction.Rollback();
                  myTransaction = null;
                  MessageBox.Show("数据发生错误,正在启用事务回滚!");   
              }
              else if (myConnection == null)
              {
                  MessageBox.Show("请启用事务!");
              }
              else
              {
                  MessageBox.Show("发生错误!");   
              }
              Console.WriteLine(ex);
              return false;
           }
         }
         //创建事务
        public void createTransaction()
         {
             try
             {
                 myTransaction = myConnection.BeginTransaction();
             }
             catch (Exception ex)
             {
                 Console.WriteLine(ex);
                 MessageBox.Show("启用事务失败!");   
             }
         }
         //提交事务
        public void commitTransaction()
         {
             try
             {
                 if (myTransaction != null) myTransaction.Commit();
                
             }
             catch (Exception ex)
             {
                 myTransaction.Rollback();
                 Console.WriteLine(ex);
                 MessageBox.Show("数据发生错误,正在启用事务回滚!"); 
             }
             finally
             {
                 myConnection.Close();
                 myConnection = null;
             }
         }
    }
}

 

mysql-connector-net下载地址:http://mysql.isu.edu.tw/downloads/connector/net/5.2.html

 

抱歉!评论已关闭.