您的位置:首页 > 数据库 > MySQL

C#.net连接Mysql的类库

2013-10-10 10:53 302 查看
微软的visual studio没有自带连接Mysql的驱动,要去网上下载一个mysql-connector-net-6.4.3驱动,然后安装就可以使用。

下面是我封装好的连接数据库的类,直接调用即可。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data;

using System.Data.SqlClient;

using System.Configuration;

using MySql.Data.MySqlClient;

namespace DAL

{

  public class GetConnection

    {

        private static MySqlConnection  _connection;

      /// <summary>

      /// 获取数据库连接桥

      /// </summary>

        private static MySqlConnection Connection

        {

            get 

            {

               //string connectionString = ConfigurationManager.AppSettings["ConnectionString"];

                string connectionString = "server=localhost;user id=root; password=root; database=system; pooling=false";

                //server=222.222.222.222;port=3306;uid=user;pwd=;database=basename;远程连接的

                

                //string connectionString = "Data Source=202.192.72.22;Initial Catalog=wwj;Persist Security Info=True;User ID=wwj;Password=wwj123";

                if (_connection == null)

                {

                    _connection = new MySqlConnection(connectionString);

                    _connection.Open();

                }

                if (_connection.State == ConnectionState.Closed)

                {

                    _connection.Open();

                }

                if (_connection.State == ConnectionState.Broken)

                {

                    _connection.Close();

                    _connection.Open();

                }

                return GetConnection._connection; 

            }

          

        }

      /// <summary>

      /// 获取表数据

      /// </summary>

      /// <param name="sql"></param>

      /// <returns></returns>

        public static MySqlDataReader GetDataRead(string sql)

        {

            MySqlCommand command = new MySqlCommand(sql, Connection);

            MySqlDataReader read = command.ExecuteReader();

            

            return read;

        }

        public static int NoSelect(string sql) 

        {

            MySqlCommand command = new MySqlCommand(sql, Connection);

            int row = command.ExecuteNonQuery();

            return row;

        }

        public static DataTable GetDataTable(string sql) 

        {

            MySqlCommand command = new MySqlCommand(sql, Connection);

            DataTable dt = new DataTable();

            MySqlDataAdapter sda = new MySqlDataAdapter(command);

            sda.Fill(dt);

            return dt;

        }

        /// <summary>

        /// 执行sql语句,返回一行一列。。

        /// </summary>

        /// <param name="sql">SQL语句</param>

        /// <returns></returns>

        public static string GetScalar(string sql)

        {

            MySqlCommand command = new MySqlCommand(sql, Connection);

            return command.ExecuteScalar().ToString();

        }

    }

}

比如说你想执行删除的,你可以调用GetConnection.NoSelect("delete from UserInfo where Id=1");读数据库的某一张表,可以调用GetConnection.GetDataTable("select * from UserInfo");调用都很方便。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: