不负责任的说MariaDb和MySQL很多都是通用的,因为来自同一个爹。。。

和MySQL连接方式差不多

首先配置好你的MariaDb,创建test数据库,在test里创建MyTable表,脚本如下(通过HeidiSQL导出的脚本):

-- --------------------------------------------------------
-- 主机: 172.16.40.153
-- 服务器版本: 5.5.5-10.0.4-MariaDB-1~wheezy-log - mariadb.org binary distribution
-- 服务器操作系统: debian-linux-gnu
-- HeidiSQL 版本: 8.1.0.4545
-- -------------------------------------------------------- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -- 导出 test 的数据库结构
DROP DATABASE IF EXISTS `test`;
CREATE DATABASE IF NOT EXISTS `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `test`; -- 导出 表 test.MyTable 结构
DROP TABLE IF EXISTS `MyTable`;
CREATE TABLE IF NOT EXISTS `MyTable` (
`id` int(11) NOT NULL,
`username` varchar(32) DEFAULT NULL,
`password` varchar(32) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- 正在导出表 test.MyTable 的数据:~0 rows (大约)
DELETE FROM `MyTable`;
/*!40000 ALTER TABLE `MyTable` DISABLE KEYS */;
INSERT INTO `MyTable` (`id`, `username`, `password`) VALUES
(1, '2013/10/13', '1f11082e-7c23-4ffd-bfd2-67b0a58d'),
(25, '2013/10/13', 'fc52bd01-474b-4fa4-86f1-18d3a3c7'),
(32, '2013/10/13', '1078f559-3e39-4b7d-bcab-0286c7f4'),
(58, '2013/10/13', '95ee6ce5-fcef-4785-bd0d-3482e6de');
/*!40000 ALTER TABLE `MyTable` ENABLE KEYS */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

C#代码如下:包含了简单的新增删除查询,工具是vs2012版本,一定要下载mysql-connector-net,我选择的是最新的版本

别忘了添加引用

using MySql.Data.MySqlClient;
MySqlConnection connection_;
private void buttonOpenConnect_Click(object sender, EventArgs e)
{
//string connectionStr = "server=127.0.0.1;user id=root;password=;database=test";
string connectionStr = "server=172.16.40.153;user id=root;password=123456;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 id = DateTime.Now.Second;
string username = DateTime.Now.ToShortDateString();
string password = Guid.NewGuid().ToString();
string sql = string.Format("INSERT INTO MyTable (`id`,`username`,`password`) VALUES({0},'{1}','{2}');", id, username, password);
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 id={0}", no);
MySqlCommand command = new MySqlCommand(sql, connection_);
int affectLines = command.ExecuteNonQuery(); MessageBox.Show("Affect " + affectLines.ToString() + " line"); }

源代码下载

C#连接mariadb代码及方式的更多相关文章

  1. spring 5.x 系列第6篇 —— 整合 mybatis + druid 连接池 (代码配置方式)

    源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 项目目录结构 1.创建maven工程,除了Spring基本依赖外,还需要导 ...

  2. 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!【转载+整理】

    原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructu ...

  3. 32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式

    32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式 一丶RadAsm的配置和使用 用了怎么长时间的命令行方式,我们发现了几个问题 1.没有代码提醒功能 2.编写代码很慢,记不住各 ...

  4. web.config中配置数据库(多数据)连接的两种方式

    这是我的第一篇文章,既然是第一篇了,那就从最基础的只是说起--web.config中配置数据库连接. 网上有很多这方面的资料,但发现并没有一篇从头到位很清楚明了说完的,今天就把我的整理写在这里吧. 在 ...

  5. atitit.client连接oracle数据库的方式总结

    client连接oracle数据库的方式总结 文件夹 Java程序连接一般使用jar驱动连接.. ... 桌面GUI一般採取c语言驱动oci.dll 直接连接... 间接连接(须要配置tns及其env ...

  6. 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!

    原文地址 迁移到:http://www.bdata-cap.com/newsinfo/1741515.html 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和f ...

  7. 通过代码的方式完成WCF服务的寄宿工作

    使用纯代码的方式进行服务寄宿 服务寄宿的目的是为了开启一个进程,为WCF服务提供一个运行的环境.通过为服务添加一个或者多个终结点,使之暴露给潜在的服务消费,服务消费者通过匹配的终结点对该服务进行调用, ...

  8. C 语言字符串连接的 3种方式

    C 语言字符串连接的 3种方式 #include<stdio.h> #include<stdlib.h> #include<string.h> char *join ...

  9. 编写css代码的方式

            css(层叠样式表) 在一个网页中主要负责了页面的数据样式.       编写css代码的方式:       第一种: 在style标签中编写css代码. 只能用于本页面中,复用性不强 ...

随机推荐

  1. 时间序列HW

    https://www.cnblogs.com/sylvanas2012/p/4328861.html写得特别好,推荐阅读 Holt-Winters:  三阶指数平滑 Holt-Winters的思想是 ...

  2. Chapter 4(栈与队列)

    1.栈的顺序存储结构 //*********************************stack_array.h************************************ #ifn ...

  3. python与pycharm

    什么叫自动化测试? 通俗来说,自动化测试就是通过写代码来帮我们测试软件.用来做自动化测试的语言很多,python,Java,php,Go,ruby等.而且软件系统开发语言与自动化测试语言可以不一致.例 ...

  4. etcd基本操作

    目录 概述 安装etcd 使用etcdctl操作etcd 数据库操作 非数据库操作 使用curl操作etcd 概述 etcd是一个用于共享配置和服务的高可用键值存储系统,由CoreOS使用开发并作为C ...

  5. Logistic Ordinal Regression

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...

  6. Tomcat权威指南-读书摘要系列3

    3. 在Tomcat中部署Servlet与JSP Web应用程序 jar命令打包war文件 jar cvf examples.war .

  7. Nginx跳转Tomcat

    conf配置: server {         listen       80;         server_name www.-------.com;         server_name_i ...

  8. HDU 2097 Sky数 进制转换

    解题报告:这题就用一个进制转换的函数就可以了,不需要转换成相应的进制数,只要求出相应进制的数的各位的和就可以了. #include<cstdio> #include<string&g ...

  9. Linux IO调度算法

    Linux IO调度算法  操作系统的调度 CPU调度    CPU scheduler IO调度       IO scheduler   IO调度器的总体目标是希望让磁头能够总是往一个方向移动,移 ...

  10. 多页面应用_vue

    vue框架 vue:解决前端大型应用的开发,将之前几十个.几百个.更多的HTML页面,集成为1个HTML页面(当页面应用) jQuery:前端方法库. bootstrap:UI组件库. angular ...