关闭

Asp.Net Core使用MySql.Data连接MySql示例

标签: mysqlaspnetcore
699人阅读 评论(0) 收藏 举报
分类:

asp.net core使用mysql可使用开源组件MySql.Data

首先,加入依赖,在project.json中加入

"SapientGuardian.MySql.Data": "6.9.813",

代码:

using MySql.Data.MySqlClient;
using System;
using System.Data;
using System.Text;


/* 建表sql

CREATE TABLE `NewTable` (
`id`  int(11) NOT NULL AUTO_INCREMENT ,
`name`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`birthday`  datetime NULL DEFAULT NULL,
PRIMARY KEY(`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET = utf8 COLLATE=utf8_general_ci
  AUTO_INCREMENT = 2
ROW_FORMAT=COMPACT
;

 */

namespace MySql.Data_Demo
{
    public class Program
    {
        public static void Main(string[] args)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

            MySqlConnection connection = new MySqlConnection
            {
                ConnectionString = "server=127.0.0.1;database=test;uid=root;pwd=123456;charset='gbk'"
            };

            //增加一条数据
            //Insert(connection, "张三",DateTime.Now);

            //增加多条数据
            //InsertCollection(connection);

            //修改数据
            //Update(connection, "李四", "张三");

            //删除数据
            //Delete(connection, "李四");

            //查找数据
            //Search(connection);

            //简单事务
            //Transaction(connection);

            //执行存储过程
            //StoredProcedure(connection);

            Console.WriteLine("finish");
            System.Console.ReadKey();
        }

        /// <summary>
        /// 插入一条数据
        /// </summary>
        private static int Insert(MySqlConnection connection, string name, DateTime time)
        {
            connection.Open();
            MySqlCommand command = new MySqlCommand($"insert into person values (null,'{name}','{time}');", connection);
            int count = command.ExecuteNonQuery();
            Console.WriteLine(count);
            connection.Close();
            return count;
        }

        /// <summary>
        /// 插入多条数据
        /// </summary>
        private static void InsertCollection(MySqlConnection connection)
        {
            connection.Open();
            MySqlCommand command = new MySqlCommand();
            command.Connection = connection;

            command.CommandText = "INSERT INTO person VALUES ( null,?name, ?birthday)";
            command.Parameters.Add("?name", MySqlDbType.VarChar);
            command.Parameters.Add("?birthday", MySqlDbType.DateTime);

            for (int x = 0; x < 30; x++)
            {
                command.Parameters[0].Value = "name" + x;
                command.Parameters[1].Value = DateTime.Now;
                command.ExecuteNonQuery();
            }

            command.ExecuteNonQuery();
            connection.Close();
        }

        /// <summary>
        /// 修改数据
        /// </summary>
        private static int Update(MySqlConnection connection, string newName, string oldName)
        {
            connection.Open();
            MySqlCommand command = new MySqlCommand($"update person set name = '{newName}' where name = '{oldName}';", connection);
            int count = command.ExecuteNonQuery();
            connection.Close();
            return count;
        }

        /// <summary>
        /// 删除数据
        /// </summary>
        private static int Delete(MySqlConnection connection, string name)
        {
            connection.Open();
            MySqlCommand command = new MySqlCommand($"delete from person where name = '{name}';", connection);
            int count = command.ExecuteNonQuery();
            Console.WriteLine(count);
            connection.Close();
            return count;
        }

        /// <summary>
        /// 查找数据
        /// </summary>
        private static void Search(MySqlConnection connection)
        {
            connection.Open();
            MySqlCommand command = new MySqlCommand("select * from person;", connection);

            using (MySqlDataReader reader = command.ExecuteReader())
            {
                System.Console.WriteLine("id\t\tname");
                while (reader.Read())
                {
                    string row = $"{reader["id"]}\t\t{reader["name"]}";
                    System.Console.WriteLine(row);
                }
            }
        }

        /// <summary>
        /// 简单事务
        /// </summary>
        private static void Transaction(MySqlConnection connection)
        {
            connection.Open();
            MySqlTransaction transaction = connection.BeginTransaction();
            try
            {
                MySqlCommand cmd = new MySqlCommand("delete from person;", connection, transaction);
                cmd.ExecuteNonQuery();
                transaction.Rollback();
                transaction = connection.BeginTransaction();
                cmd = new MySqlCommand($"insert into person values (null,'王五','{DateTime.Now}');", connection, transaction);
                cmd.ExecuteNonQuery();
                transaction.Commit();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
            }
            connection.Clone();
        }

        /// <summary>
        /// 执行存储过程
        /// </summary>
        private static void StoredProcedure(MySqlConnection connection)
        {
            connection.Open();
            MySqlCommand command = new MySqlCommand("存储过程名字", connection);
            command.CommandType = CommandType.StoredProcedure;
            IAsyncResult asyncResult = command.BeginExecuteNonQuery();
            connection.Close();
        }

    }
}

demo地址:
https://github.com/BinGithub2015/aspdotnetcore/tree/master/MySql.Data/MySql.Data_Demo

MySql.Data源码地址:
https://github.com/mysql/mysql-connector-net

0
0
查看评论

asp.net core使用mysql.data和dapper操作mysql数据库

asp.net core的生产环境一般是mysql+linux。mysql.data是mysql基于.net的官方驱动。 github地址 https://github.com/mysql/mysql-connector-net 本人写的mysql.data示例demo http://blo...
  • Chen_Victor
  • Chen_Victor
  • 2016-12-27 19:40
  • 517

创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL

创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL用惯.NET的研发人员都习惯性地使用SQLServer作为数据库。然而.NET Core都玩开源了,那么本文我就采用MySQL数据库。安装MySQL首先从官网下载MySQL安装包。在Mac下...
  • CharlieThinker
  • CharlieThinker
  • 2016-11-18 11:28
  • 2339

VS2015 ASP.NET连接Mysql方法

使用C#连接MySQL时,经常会用到命名空间using MySql.Data.MySqlClient; 这说明VS中没有添加引用,解决方法如下: 1,下载MySQL.Data.dll,http://down7.pc6.com/xy3/MySqlData.zip 2,将其存放到Windows/S...
  • winycg
  • winycg
  • 2017-09-12 11:28
  • 598

Asp.Net Core 连接MySQL

首先新建一个项目 Asp.NetCoreConnectorMySQL通过简单的修改运行如下接下来安装NuGet安装MySQL的库查看MySQL里面自带的数据库我们来修改json文件(appsettings.json)建立MySQL的连接串新建一个类(这里我的类名是Lexan,你的不一定是Lexan)...
  • zhongyanfu0
  • zhongyanfu0
  • 2017-05-01 21:44
  • 3195

MySql 使用 EF Core 2.0 CodeFirst、DbFirst、数据库迁移(Migration)介绍及示例

dotnet core 2.0 发布已经好几天了,期间也把原来 dotnet core 1.1 的 MVC 项目升级到了 2.0,升级过程还是比较顺利的,变动也不是太多。升级的过程中也少不了 Entity Framwork Core 的升级,在这篇文章中主要介绍下 MySql 数据库使用 ...
  • sD7O95O
  • sD7O95O
  • 2017-08-25 07:25
  • 117

.net core使用MySQL笔记

.net core + mysql 项目初体验。
  • enlangs
  • enlangs
  • 2017-01-07 13:58
  • 3090

Net Core mvc 使用mysql

Net Core mvc 使用mysql NET Core 入门到产品化开发 NET Core 第一部分 : 搭建你的服器器 NET CORE 环境选择 安装Centos7 Centos7 网络配置 设置静态Ip Centos7 服务器远程连接 Centos...
  • yucihai
  • yucihai
  • 2017-04-16 00:11
  • 1740

ASP.NET Core 2.0 + EF6 + Linux +MySql混搭

好消息!特好消息!同时使用ASP.NET Core 2.0和.NET Framework类库还能运行在linux上的方法来啦! 是的,你没有看错!ASP.NET Core 2.0,.NET Framework类库,linux通通都给你,不要998只要10分钟就能完成终极操作来啦! ...
  • sD7O95O
  • sD7O95O
  • 2017-10-28 00:00
  • 668

asp.net通过MySql.Data.DLL方式使用mysql

mysql的准备工作原来是搞php开发的,本机已经安装了wamp。修改mysql用户root密码为root,然后建立test数据库,并在下面创建一个user表,用于测试。 wamp自带的mysql数据库中的root用户默认是没有密码的,可以使用sql语句或者navicat mysql工具修改roo...
  • koastal
  • koastal
  • 2016-09-07 09:55
  • 4952

把Web Api OData移植到Asp.Net Core(1)-重构网站

OData是微软主推的标准化Restful服务端接口,在Asp.Net Web Api中提供了自动化搭建服务端代码的功能,非常强大,开发者可以在1分钟内创建一个OData服务端。但是在Asp.Net Core中,OData没有了,导致以前用OData开发的服务端无法移植到Asp.Net Core,无...
  • woodsun2008
  • woodsun2008
  • 2018-01-04 22:32
  • 124
    个人资料
    • 访问:59377次
    • 积分:1273
    • 等级:
    • 排名:千里之外
    • 原创:66篇
    • 转载:8篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论