C#操作mysql数据库的实例

2 篇文章 0 订阅
2 篇文章 0 订阅

C#操作mysql数据库实例

本文主要分享的是使用C#简单快捷的操作Mysql数据库的完整实现过程。


目录

引用MySql.Data库

管理NuGet程序包

  • 引用 中选择 管理NuGet程序包
    管理NuGet程序包

安装程序包 MySql.Data

  • 在联机中搜索 mysql ,选择安装程序包 MySql.Data
    安装程序包

创建Mysql连接工具类

添加引用

创建类MysqlConnector 并添加引用:

using MySql.Data.MySqlClient;

完整代码

public class MysqlConnector
{
    string server = null;
    string userid = null;
    string password = null;
    string database = null;
    string port = "3306";
    string charset = "utf-8";

    public MysqlConnector() { }
    public MysqlConnector SetServer(string server)
    {
        this.server = server;
        return this;
    }

    public MysqlConnector SetUserID(string userid)
    {
        this.userid = userid;
        return this;
    }

    public MysqlConnector SetDataBase(string database)
    {
        this.database = database;
        return this;
    }

    public MysqlConnector SetPassword(string password)
    {
        this.password = password;
        return this;
    }
    public MysqlConnector SetPort(string port)
    {
        this.port = port;
        return this;
    }
    public MysqlConnector SetCharset(string charset)
    {
        this.charset = charset;
        return this;
    }



    #region  建立MySql数据库连接
    /// <summary>
    /// 建立数据库连接.
    /// </summary>
    /// <returns>返回MySqlConnection对象</returns>
    private MySqlConnection GetMysqlConnection()
    {
        string M_str_sqlcon = string.Format("server={0};user id={1};password={2};database={3};port={4};Charset={5}", server, userid, password, database, port, charset);
        MySqlConnection myCon = new MySqlConnection(M_str_sqlcon);
        return myCon;
    }
    #endregion

    #region  执行MySqlCommand命令
    /// <summary>
    /// 执行MySqlCommand
    /// </summary>
    /// <param name="M_str_sqlstr">SQL语句</param>
    public void ExeUpdate(string M_str_sqlstr)
    {
        MySqlConnection mysqlcon = this.GetMysqlConnection();
        mysqlcon.Open();
        MySqlCommand mysqlcom = new MySqlCommand(M_str_sqlstr, mysqlcon);
        mysqlcom.ExecuteNonQuery();
        mysqlcom.Dispose();
        mysqlcon.Close();
        mysqlcon.Dispose();
    }
    #endregion

    #region  创建MySqlDataReader对象
    /// <summary>
    /// 创建一个MySqlDataReader对象
    /// </summary>
    /// <param name="M_str_sqlstr">SQL语句</param>
    /// <returns>返回MySqlDataReader对象</returns>
    public MySqlDataReader ExeQuery(string M_str_sqlstr)
    {
        Console.WriteLine(M_str_sqlstr);
        MySqlConnection mysqlcon = this.GetMysqlConnection();
        MySqlCommand mysqlcom = new MySqlCommand(M_str_sqlstr, mysqlcon);
        mysqlcon.Open();
        MySqlDataReader mysqlread = mysqlcom.ExecuteReader(CommandBehavior.CloseConnection);
        return mysqlread;
    }
    #endregion
}

测试数据库

数据库信息

我创建的 测试数据库 信息如下:

itemvalue
数据库名testdb
测试用户testuser
口令123456

测试数据表

创建一个数据表 user ,数据如下:

idsnameage
1张三18
2李四19
3王二麻子20

实例代码及说明

界面设计

我使用的是 WinForm窗体程序 进行演示,界面设计如下:
界面设计

完整代码

public partial class Form1 : Form
{
    //实例化连接对象
    MysqlConnector mc = new MysqlConnector();

    public Form1()
    {
        InitializeComponent();

        //设置数据库连接参数
        mc.SetServer("127.0.0.1")
          .SetDataBase("testdb")
          .SetUserID("testuser")
          .SetPassword("123456")
          .SetPort("3306")
          .SetCharset("utf8");
    }

    private void button1_Click(object sender, EventArgs e)
    {
        string sql = textBox1.Text;
        string result = "";
        //执行查询
        MySqlDataReader reader = mc.ExeQuery(sql);
        while (reader.Read())
        {
            for (int i = 0; i < reader.FieldCount; i++)
            {
                result += reader.GetName(i) + "\t" + reader.GetValue(i) + "\r\n";
            }
        }
        textBox2.Text = result;
        //执行增删改等操作
        //mc.ExeUpdate(sql);
    }
}
执行sql语句有两种方法
ExeQuery 查询操作
ExeUpdate 增删改等操作

程序运行结果

执行语句 select * from user,程序运行截图:
运行截图

结束语

第一次这么认真写博客,以后还会继续的,关于C#其实我是初学者,很多代码的Java味比较重,在实现上有可能绕了远路,还请批评指正。
因为最近做了一个C#操作Mysql的小项目,我也是边学边做,总结了一点小工具,稍后会继续与大家分享,感谢您的阅读。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

猿长大人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值