C#基于MySql驱动(VS2012)操作MariaDB
来源:互联网 发布:淘宝价格趋势 编辑:程序博客网 时间:2024/06/11 09:01
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驱动的时候本来想在官网下的,但是要帐号,所以就另找了个镜像点下。这是镜像点http://mirrors.sohu.com/mysql/Connector-Net/,我下的是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"); } }}这里有几点需要注意的:
1、用MySql操作的语言和操作MSSQL的语法没有太大的差异,但是SQL的语句有差异。在MSSQL中单引号用的是键盘上回车键左边单引呈键,而MariaDB中的单引号用的是键盘上数字键那一行最左边的键(数字1键的左边)。最开始被这个折腾惨了,后面经过比对后才发现的。
2、代码中所用的数据库test和MyTable需要自己建立。建立的方法可以通过HeidiSQL来操作。
3、要记得引用MySql.data.dll.
4、如果发现有MariaDB的语法不太理解,可以打开HeidiSQL,然后进行相应的操作,这时在下方会显示相应的代码,如我们插入了一些数据,下面会显示插入的SQL语句,然后把这个语句来到C#中用就OK了。
- C#基于MySql驱动(VS2012)操作MariaDB
- Mariadb(mysql)基本操作
- MySQL/MariaDB SQL操作笔记
- mybatis操作mariadb驱动的mysql批量插入报错java.nio.BufferOverflowException: null
- MySQL | MariaDB命令行客户端常用操作
- MariaDB、MySQL双主互备操作及说明
- C#连接操作 MySQL 数据库实例(使用官方驱动)
- MySQL/MariaDB
- c++在vs2012中链接mysql操作
- vs2012 +ef6 操作mysql数据库问题总结
- MySQL与MariaDB基于GTID的主从同步
- 【MariaDB】MariaDB vs MySQL - 兼容性
- 【MariaDB】MariaDB vs MySQL - 特性
- centOS中mysql/mariaDB一些常用操作命令
- 基于C#操作注册表
- 基于mariadb安装hive
- VS2012+mysql
- VS2012+mysql
- Larbin简介,及其在Ubuntu10.04下的编译安装
- C++ AMP: Changes in VS 11 Beta for C++ AMP
- Struts2中获得Request,Response的几种方法
- 火车余票查询的API,12306官方的API
- C#窗口吸附
- C#基于MySql驱动(VS2012)操作MariaDB
- cocos2d-x的工具
- 粒子群算法与人的成长(施工中)
- google地图大规模下载防屏蔽手段
- IO:重定向标准输出流
- HDU 4753 Fishhead’s Little Game (博弈+记忆话搜索)
- Java 线程池的原理与实现
- 选择时间对话框,在点击对话框外面的时候对话框不会自动关闭
- Collection