zoukankan      html  css  js  c++  java
  • C#连接mariadb代码及方式

    不负责任的说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");
    
            }
    

    源代码下载

  • 相关阅读:
    不务正业系列-浅谈《过气堡垒》,一个RTS玩家的视角
    [LeetCode] 54. Spiral Matrix
    [LeetCode] 40. Combination Sum II
    138. Copy List with Random Pointer
    310. Minimum Height Trees
    4. Median of Two Sorted Arrays
    153. Find Minimum in Rotated Sorted Array
    33. Search in Rotated Sorted Array
    35. Search Insert Position
    278. First Bad Version
  • 原文地址:https://www.cnblogs.com/24la/p/cSharp-connect-mariadb.html
Copyright © 2011-2022 走看看