您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

C#基于MySQL驱动(VS2012)操作MariaDB

2025/12/23 8:11:48发布29次查看
mariadb最近越来越热,于是也下了个来捣腾捣腾。我下的是mariadb-10.0.4-win32.msi,但是安装完后,想用c#进行连接时,发现没有可
mariadb最近越来越热,于是也下了个来捣腾捣腾。我下的是mariadb-10.0.4-win32.msi,但是安装完后,想用c#进行连接时,发现没有可以用的驱动。网上找了一番后,说是maraidb兼容mysql,所以可以用mysql的驱动来连接。不过,有文提到mariadb5.5相当于mysql的5.5,,而mariadb10.0.4相当于mysql5.6,而mysql现在已经是6.7了,所以下载mysql驱动的时候要特别注意,还有要注意的是mariadb是32还是64位的,搞错了,连接会出问题。
在下mysql驱动的时候本来想在官网下的,但是要帐号,所以就另找了个镜像点下。这是镜像点,我下的是mysql-connector-net-5.2.7。
下面是具体实现的代码
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.text;
using system.windows.forms;
using mysql.data.mysqlclient;
namespace mariadbtest
{
    public partial class formmain : form
    {
        public formmain()
        {
            initializecomponent();
        }
        private void form1_load(object sender, eventargs e)
        {
        }
        mysqlconnection connection_;
        private void buttonopenconnect_click(object sender, eventargs e)
        {
            string connectionstr = server=localhost;user id=root;password=abc;database=test;
            connection_ = new mysqlconnection(connectionstr);
            connection_.open();
            messagebox.show(connect ok!);
        }
        private void buttonselect_click(object sender, eventargs e)
        {
            if (connection_ == null)
            {
                messagebox.show(please open connect!);
                return;
            }
            string sql = select * from mytable;
            mysqldataadapter adapter = new mysqldataadapter(sql, connection_);
            datatable datatable = new datatable();
            adapter.fill(datatable);
            datagridviewmariadb.datasource = datatable;
        }
        private void buttoncloseconnect_click(object sender, eventargs e)
        {
            if (connection_ != null)
            {
                connection_.close();
                messagebox.show(connect close!);
            }
        }
        private void buttoninsert_click(object sender, eventargs e)
        {
            if (connection_ == null)
            {
                messagebox.show(please open connect!);
                return;
            }
            int no = datetime.now.second;
            int sum = datetime.now.millisecond;
            string sql = string.format(insert into mytable (`no`,`sum`) values({0},{1});, no, sum);
            mysqlcommand command = new mysqlcommand(sql, connection_);
            int affectlines = command.executenonquery();
            messagebox.show(affect + affectlines.tostring() + line);
        }
        private void buttondelete_click(object sender, eventargs e)
        {
            if (connection_ == null)
            {
                messagebox.show(please open connect!);
                return;
            }
            int no = convert.toint32(textboxno.text);
            string sql = string.format(delete from mytable where `no`={0}, no);
            mysqlcommand command = new mysqlcommand(sql, connection_);
            int affectlines = command.executenonquery();
            messagebox.show(affect + affectlines.tostring() + line);
        }
}
}
这里有几点需要注意的:
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product