C#-操作Mysql

时间:2019-10-21
本文章向大家介绍C#-操作Mysql,主要包括C#-操作Mysql使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Nuget添加库

公共类

using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace mysql_nf
{
    class Mysql_Helper
    {



        private MySqlConnection myConnection;
        private MySqlCommand myCommand;
        private MySqlDataAdapter myAdapter;
        private MySqlTransaction myTransaction;
        string str_Con = "data source=172.20.168.210;user id=root;pwd=QSMC+12345;initial catalog=jinwei;allow zero datetime=true";
        //建立DB连接
        public  Mysql_Helper()
        {

            string contString = str_Con;
            try
            {
                myConnection = new MySqlConnection();
                myConnection.ConnectionString = contString;
                myConnection.Open();

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                MessageBox.Show("连接失败!");
            }
            finally
            {
                myConnection.Close();
            }
        }
        //数据查询操作
        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)
            {
                throw ex;
            }
            finally
            {
                myConnection.Close();
            }
        }

        //数据插入,删除,更新操作
        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;
            }
            finally
            {
                myConnection.Close();
            }
        }
        //创建事务
        public void createTransaction()
        {
            try
            {
                myTransaction = myConnection.BeginTransaction();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                myConnection.Close();
            }
        }
        //提交事务
        public void commitTransaction()
        {
            try
            {
                if (myTransaction != null) myTransaction.Commit();

            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                myConnection.Close();
                myConnection = null;
            }
        }








    }
}

原文地址:https://www.cnblogs.com/JinweiChang/p/11713796.html