C#连接mariadb(MYSQL分支)代码示例分享

所属分类: 软件编程 / C#教程 阅读数: 126
收藏 0 赞 0 分享

首先配置好你的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# 大小写转换(金额)实例代码

C# 大小写转换(金额)实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# WinForm中Panel实现用鼠标操作滚动条的实例方法

由于在WinForm中Panel不能直接响应鼠标的滚动事件,只好采用捕获窗体的滚动事件。
收藏 0 赞 0 分享

C#访问应用程序配置文件的方法

C#访问应用程序配置文件的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#读写文件的方法汇总

C#读写文件的方法汇总,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#计算代码执行时间的方法

在一些测试工作时我们需要获得高精度的代码执行时间以比较其效率。
收藏 0 赞 0 分享

C# 动画窗体(AnimateWindow)的小例子

C# 动画窗体(AnimateWindow)的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# zxing二维码写入的实例代码

C# zxing二维码写入的实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

c#判断输入的是不是数字的小例子

c#判断输入的是不是数字的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

c# 深拷贝与浅拷贝的区别分析及实例

浅拷贝(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用. 深拷贝(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.
收藏 0 赞 0 分享

C#利用com操作excel释放进程的解决方法

最近利用Microsoft.Office.Interop.Excel.Application读取一个excel后,进程中一直存在excel,在网上找了一阵子,其中有几个解决方案
收藏 0 赞 0 分享
查看更多