这是关于MySQL数据库的C#教程,包含了对MySQL数据库基本操作;

数据库访问组件MySql Connect/NET

MySql Connect/NET是MySQL官方提供给C#的接口,封装的非常好,操作MySQL就如同操作自家的SQLServer;

MySql Connect/NET

开始程序之旅

数据库模型层UserEntity.cs

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace AccessOfMysql.Entity
  5. {
  6. public class MysqlConfig
  7. {
  8. //主机
  9. private string server;
  10. public string Server
  11. {
  12. get
  13. {
  14. return server;
  15. }
  16. set
  17. {
  18. server = value;
  19. }
  20. }
  21. //数据库
  22. private string database;
  23. public string Database
  24. {
  25. get
  26. {
  27. return database;
  28. }
  29. set
  30. {
  31. database = value;
  32. }
  33. }
  34. //用户id
  35. private string userid;
  36. public string Userid
  37. {
  38. get
  39. {
  40. return userid;
  41. }
  42. set
  43. {
  44. userid = value;
  45. }
  46. }
  47. //密码
  48. private string password;
  49. public string Password
  50. {
  51. get
  52. {
  53. return password;
  54. }
  55. set
  56. {
  57. password = value;
  58. }
  59. }
  60. }
  61. public class UserEntity
  62. {
  63. /// <summary>
  64. /// 用户id
  65. /// </summary>
  66. private uint id;
  67. public uint Id
  68. {
  69. get
  70. {
  71. return id;
  72. }
  73. set
  74. {
  75. id = value;
  76. }
  77. }
  78. /// <summary>
  79. /// 用户姓名
  80. /// </summary>
  81. private string name;
  82. public string Name
  83. {
  84. get
  85. {
  86. return name;
  87. }
  88. set
  89. {
  90. name = value;
  91. }
  92. }
  93. /// <summary>
  94. /// 用户住址
  95. /// </summary>
  96. private string address;
  97. public string Address
  98. {
  99. get
  100. {
  101. return address;
  102. }
  103. set
  104. {
  105. address = value;
  106. }
  107. }
  108. }
  109. }

数据库访问层UserAccess.cs

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using MySql.Data.MySqlClient;
  5. using AccessOfMysql.Entity;
  6. namespace AccessOfMysql
  7. {
  8. class UserAccess
  9. {
  10. private string connectString;
  11. public UserAccess(string connectString)
  12. {
  13. this.connectString = connectString;
  14. }
  15. public List<UserEntity> GetUserListFromDb()
  16. {
  17. string query = @"SELECT *
  18. FROM t_user";
  19. List<UserEntity> userEntityList = new List<UserEntity>();
  20. using (MySqlConnection connection = new MySqlConnection(this.connectString))
  21. {
  22. //打开数据库连接
  23. connection.Open();
  24. //创建SqlCommand对象
  25. MySqlCommand command = new MySqlCommand(query, connection);
  26. //执行SQL,返回查询结果
  27. using (MySqlDataReader dataReader = command.ExecuteReader())
  28. {
  29. while (dataReader.Read())
  30. {
  31. UserEntity userEntity = new UserEntity();
  32. userEntity.Id = dataReader.GetUInt32(0);
  33. userEntity.Name = dataReader.GetString(1);
  34. userEntity.Address = dataReader.GetString(2);
  35. userEntityList.Add(userEntity);
  36. }
  37. }
  38. }
  39. return userEntityList;
  40. }
  41. public void InserUserToDb(UserEntity user)
  42. {
  43. string query = @"INSERT INTO t_user (name, address)
  44. VALUES (@name, @address)";
  45. using (MySqlConnection connection = new MySqlConnection(this.connectString))
  46. {
  47. //打开数据库
  48. connection.Open();
  49. //创建SqlCommand
  50. MySqlCommand command = new MySqlCommand(query, connection);
  51. command.Parameters.AddWithValue("@name", user.Name);
  52. command.Parameters.AddWithValue("@address", user.Address);
  53. //执行SQL语句,不查询
  54. command.ExecuteNonQuery();
  55. }
  56. }
  57. public int GetUserCountFromDb()
  58. {
  59. string query = @"SELECT COUNT(*)
  60. FROM t_user";
  61. using (MySqlConnection connection = new MySqlConnection(connectString))
  62. {
  63. //打开数据库
  64. connection.Open();
  65. MySqlCommand command = new MySqlCommand(query, connection);
  66. //执行SQL,返回条目数
  67. int count = int.Parse(command.ExecuteScalar().ToString());
  68. return count;
  69. }
  70. }
  71. }
  72. }

主程序Program.cs

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using MySql.Data.MySqlClient;
  5. using AccessOfMysql.Entity;
  6. namespace AccessOfMysql
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. //数据库连接字符串(charset=utf8:解决插入汉字乱码问题)
  13. string connectString = "server=127.0.0.1;database=cjtdb;uid=root;pwd=root;charset=utf8";
  14. UserAccess userAccess = new UserAccess(connectString);
  15. try
  16. {
  17. //取得用户信息一览
  18. List<UserEntity> userEntityList = userAccess.GetUserListFromDb();
  19. foreach(UserEntity userEntity in userEntityList)
  20. {
  21. Console.WriteLine("id={0}, name={1}, address={2}",
  22. userEntity.Id, userEntity.Name, userEntity.Address);
  23. }
  24. //插入用户信息
  25. UserEntity user = new UserEntity();
  26. user.Name = "李小龙";
  27. user.Address = "上海";
  28. userAccess.InserUserToDb(user);
  29. //统计用户信息总条数
  30. int count = userAccess.GetUserCountFromDb();
  31. }
  32. catch (MySqlException ex)
  33. {
  34. Console.WriteLine(ex.ToString());
  35. }
  36. }
  37. }
  38. }

MySQL C#教程的更多相关文章

  1. 数据库 之MySQL 简单教程

      So Easy系列之MySQL数据库教程 1.   数据库概述 1.1.  数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...

  2. 21分钟 MySQL 入门教程(转载!!!)

    21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...

  3. MySQL Python教程(1)

    首先对于数据库的基本操作要有一定基础,其次了解Python的基础语法. 建议先阅读MysqL中文教程http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chap ...

  4. 迅美VPS安装和配置MySQL数据库教程

    MySQL相关教程与知识:    迅美VPS安装和配置MySQL数据库教程    navicat8管理MySQL教程-创建数据库和导入数据    navicat8管理MySQL教程-管理建立用户和分配 ...

  5. 原创教程:SpagoBI4.2汉化及配置Mysql数据库教程

    SpagoBI4.2汉化及配置Mysql数据库教程 商务智能套件SpagoBI提供一个基于J2EE的框架用于管理BI对象如报表.OLAP分析.仪表盘.记分卡以及数据挖掘模型等的开源BI产品.它提供的B ...

  6. 屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作

    此篇写MySQL中最基础,也是最重要的操作! 第一篇:屌炸天实战 MySQL 系列教程(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:屌炸天实战 MySQL 系列教程(二) 史上最屌.你不 ...

  7. CentOS下Mysql安装教程

    CentOS下Mysql安装教程 本人学习Linux时使用的是CentOs5.5版本,在该环境中,Mysql的安装方法有很多种,下面我只讲我这次成功了的方法,作为一个记录,供大家参考,同时给自己做一个 ...

  8. Windows之MySQL安装教程

    MySQL安装说明 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,My ...

  9. linux下彻底卸载mysql 图解教程

    linux下彻底卸载mysql 图解教程 1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysql可以看到如下图的所示: 说明之前安装了:MySQL-client-5.5.25 ...

  10. Windows下安装MySQL详细教程

    Windows下安装MySQL详细教程 1.安装包下载  2.安装教程 (1)配置环境变量 (2)生成data文件 (3)安装MySQL (4)启动服务 (5)登录MySQL (6)查询用户密码 (7 ...

随机推荐

  1. Angular - - angular.uppercase、angular.lowercase、angular.fromJson、angular.toJson

    angular.uppercase 将指定的字符串转换成大写 格式:angular.uppercase(string); string:被转换成大写的字符串. 使用代码: var str = &quo ...

  2. 如何在windows下载和安装Apache

    进入apache服务器官网http://httpd.apache.org/,这里我们以下载稳定版的httpd 2.4.25为例,点击"Files for Microsoft Windows& ...

  3. apache的工作模式 和 最大连接数设置

    经过测试 效果明显 (1)首选查看apache的工作模式 windows下的查看apache的工作模式命令:httpd -l 如果列出mod_win32.c,则表示是 win32.c 工作方式. 列出 ...

  4. js模块化开发——require.js的实战写法1

    关于在Require.js使用一个JS插件的问题 我需要在项目中引用一个js控件,这个控件依赖于a.js,b.js,c.js,.....n.js N多个js以及jquery及jquery-ui,各js ...

  5. document.body.clientHeight的取值

    http://www.cnblogs.com/fullhouse/archive/2012/01/05/2313800.html 有时候需要取页面的底部, 就会用到document.body.clie ...

  6. PHP那些最好的轮子

    PHP那些最好的轮子 Databse 数据库ORM Doctrine 2 License : MIT Source Code Allo点评:Doctrine是功能最全最完善的PHP ORM,社区一直很 ...

  7. 基于Flex的HTTPService(GET和POST)

    一.基于GET的HTTPService: <?xml version="1.0" encoding="utf-8"?><mx:Applicat ...

  8. AtomicInteger相关类

    引用地址:http://blog.csdn.net/xh16319/article/details/17056767 在java6以后我们不但接触到了Lock相关的锁,也接触到了很多更加乐观的原子修改 ...

  9. 作为测试人员,我是这么报BUG的

    在测试人员提需求的时候,大家经常会看到,测试员和开发一言不合就上BUG.然后开发一下就炸了,屡试不爽,招招致命. 曾经看到有个段子这么写道: 不要对程序员说,你的代码有BUG. 他的第一反应是:1.你 ...

  10. 深入了解GCD

    首先提出一些问题: dispatch_async 函数如何实现,分发到主队列和全局队列有什么区别,一定会新建线程执行任务么? dispatch_sync 函数如何实现,为什么说 GCD 死锁是队列导致 ...