C#(.net) MySql数据库链接工具类

C#(.net) MySql数据库链接工具类


先下载和安装MySQLDriverCS 
http://sourceforge.net/projects/mysqldrivercs/

在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中

应用程序配置文件:

App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>


  <connectionStrings>

    <add name="server" connectionString="localhost"></add>
    <add name="database" connectionString="housing"></add>
    <add name="login" connectionString="root"></add>
    <add name="password" connectionString="root"></add>
  </connectionStrings>
</configuration>



SqlHelper.cs内容:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using MySQLDriverCS;
using System.Data;

namespace Demo
{
    class SqlHelper
    {

        private static string server = ConfigurationManager.ConnectionStrings["server"].ConnectionString;
        private static string database = ConfigurationManager.ConnectionStrings["database"].ConnectionString;
        private static string login = ConfigurationManager.ConnectionStrings["login"].ConnectionString;
        private static string password = ConfigurationManager.ConnectionStrings["password"].ConnectionString;


        public static int ExecuteNoQuery(String sql,MySQLParameter[] parameters)
        {

            using (MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(server, database, login, password).AsString))
            {

                conn.Open();

              
                //防止乱码
                MySQLCommand commn = new MySQLCommand("set names gb2312", conn);
                commn.ExecuteNonQuery();
                //连接语句和SQL
                MySQLCommand cmd = new MySQLCommand(sql, conn);
                //添加参数
                cmd.Parameters.AddRange( parameters);
                //返回执行结果
                return cmd.ExecuteNonQuery();

            }
        
        }
        public static object ExecuteScalar(String sql, MySQLParameter[] parameters)
        {

            using (MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(server, database, login, password).AsString))
            {

                conn.Open();
                //防止乱码
                MySQLCommand commn = new MySQLCommand("set names gb2312", conn);
                commn.ExecuteNonQuery();

                MySQLCommand cmd = new MySQLCommand(sql, conn);
                //添加参数
                cmd.Parameters.AddRange(parameters);
                
                return cmd.ExecuteNonQuery();
            }
        
        }

        //较少的时候
        public static DataTable ExecuteReaderEx(String sql, MySQLParameter[] parameters)
        {

            using (MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(server, database, login, password).AsString))
            {

                conn.Open();
                //防止乱码
                MySQLCommand commn = new MySQLCommand("set names gb2312", conn);
                commn.ExecuteNonQuery();

                MySQLCommand cmd = new MySQLCommand(sql, conn);
                //添加参数
                cmd.Parameters.AddRange(parameters);

                MySQLDataAdapter mda = new MySQLDataAdapter(cmd);

                //查询出的数据是存在DataTable中的,DataTable可以理解成为一个虚拟的表,DataTable中的一行为一条记录,一列为一个数据库字段  


                DataTable dt = new DataTable();
                mda.Fill(dt);  

                return dt;
            }

        }
        public static DataSet ExecuteReaderEx2(String sql, MySQLParameter[] parameters)
        {


            using (MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(server, database, login, password).AsString))
            {

                conn.Open();
                //防止乱码
                MySQLCommand commn = new MySQLCommand("set names gb2312", conn);
                commn.ExecuteNonQuery();

                MySQLCommand cmd = new MySQLCommand(sql, conn);
                //添加参数
                cmd.Parameters.AddRange(parameters);

                MySQLDataAdapter mda = new MySQLDataAdapter(cmd);

                //查询出的数据是存在DataTable中的,DataTable可以理解成为一个虚拟的表,DataTable中的一行为一条记录,一列为一个数据库字段  


                DataSet ds = new DataSet();
                mda.Fill(ds);
                return ds;
            }

        }




    }
}


使用示例:


  //sql语句
                string sql = "update tbl_sysuser set isActived=@isActived where id=@id";
          

                int number = SqlHelper.ExecuteNoQuery(sql, new MySQLParameter[] 
                {
                    new MySQLParameter("@isActived", "YES"),
                    new MySQLParameter("@id", 2)
                });
               

                Console.WriteLine("受影响的行数:" + number);


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明明如月学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值