MySQL C#教程
这是关于MySQL数据库的C#教程,包含了对MySQL数据库基本操作;
数据库访问组件MySql Connect/NET
MySql Connect/NET是MySQL官方提供给C#的接口,封装的非常好,操作MySQL就如同操作自家的SQLServer;
开始程序之旅
数据库模型层UserEntity.cs
using System;
using System.Collections.Generic;
using System.Text;
namespace AccessOfMysql.Entity
{
public class MysqlConfig
{
//主机
private string server;
public string Server
{
get
{
return server;
}
set
{
server = value;
}
}
//数据库
private string database;
public string Database
{
get
{
return database;
}
set
{
database = value;
}
}
//用户id
private string userid;
public string Userid
{
get
{
return userid;
}
set
{
userid = value;
}
}
//密码
private string password;
public string Password
{
get
{
return password;
}
set
{
password = value;
}
}
}
public class UserEntity
{
/// <summary>
/// 用户id
/// </summary>
private uint id;
public uint Id
{
get
{
return id;
}
set
{
id = value;
}
}
/// <summary>
/// 用户姓名
/// </summary>
private string name;
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
/// <summary>
/// 用户住址
/// </summary>
private string address;
public string Address
{
get
{
return address;
}
set
{
address = value;
}
}
}
}
数据库访问层UserAccess.cs
using System;
using System.Collections.Generic;
using System.Text;
using MySql.Data.MySqlClient;
using AccessOfMysql.Entity;
namespace AccessOfMysql
{
class UserAccess
{
private string connectString;
public UserAccess(string connectString)
{
this.connectString = connectString;
}
public List<UserEntity> GetUserListFromDb()
{
string query = @"SELECT *
FROM t_user";
List<UserEntity> userEntityList = new List<UserEntity>();
using (MySqlConnection connection = new MySqlConnection(this.connectString))
{
//打开数据库连接
connection.Open();
//创建SqlCommand对象
MySqlCommand command = new MySqlCommand(query, connection);
//执行SQL,返回查询结果
using (MySqlDataReader dataReader = command.ExecuteReader())
{
while (dataReader.Read())
{
UserEntity userEntity = new UserEntity();
userEntity.Id = dataReader.GetUInt32(0);
userEntity.Name = dataReader.GetString(1);
userEntity.Address = dataReader.GetString(2);
userEntityList.Add(userEntity);
}
}
}
return userEntityList;
}
public void InserUserToDb(UserEntity user)
{
string query = @"INSERT INTO t_user (name, address)
VALUES (@name, @address)";
using (MySqlConnection connection = new MySqlConnection(this.connectString))
{
//打开数据库
connection.Open();
//创建SqlCommand
MySqlCommand command = new MySqlCommand(query, connection);
command.Parameters.AddWithValue("@name", user.Name);
command.Parameters.AddWithValue("@address", user.Address);
//执行SQL语句,不查询
command.ExecuteNonQuery();
}
}
public int GetUserCountFromDb()
{
string query = @"SELECT COUNT(*)
FROM t_user";
using (MySqlConnection connection = new MySqlConnection(connectString))
{
//打开数据库
connection.Open();
MySqlCommand command = new MySqlCommand(query, connection);
//执行SQL,返回条目数
int count = int.Parse(command.ExecuteScalar().ToString());
return count;
}
}
}
}
主程序Program.cs
using System;
using System.Collections.Generic;
using System.Text;
using MySql.Data.MySqlClient;
using AccessOfMysql.Entity;
namespace AccessOfMysql
{
class Program
{
static void Main(string[] args)
{
//数据库连接字符串(charset=utf8:解决插入汉字乱码问题)
string connectString = "server=127.0.0.1;database=cjtdb;uid=root;pwd=root;charset=utf8";
UserAccess userAccess = new UserAccess(connectString);
try
{
//取得用户信息一览
List<UserEntity> userEntityList = userAccess.GetUserListFromDb();
foreach(UserEntity userEntity in userEntityList)
{
Console.WriteLine("id={0}, name={1}, address={2}",
userEntity.Id, userEntity.Name, userEntity.Address);
}
//插入用户信息
UserEntity user = new UserEntity();
user.Name = "李小龙";
user.Address = "上海";
userAccess.InserUserToDb(user);
//统计用户信息总条数
int count = userAccess.GetUserCountFromDb();
}
catch (MySqlException ex)
{
Console.WriteLine(ex.ToString());
}
}
}
}
MySQL C#教程的更多相关文章
- 数据库 之MySQL 简单教程
So Easy系列之MySQL数据库教程 1. 数据库概述 1.1. 数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...
- 21分钟 MySQL 入门教程(转载!!!)
21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...
- MySQL Python教程(1)
首先对于数据库的基本操作要有一定基础,其次了解Python的基础语法. 建议先阅读MysqL中文教程http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chap ...
- 迅美VPS安装和配置MySQL数据库教程
MySQL相关教程与知识: 迅美VPS安装和配置MySQL数据库教程 navicat8管理MySQL教程-创建数据库和导入数据 navicat8管理MySQL教程-管理建立用户和分配 ...
- 原创教程:SpagoBI4.2汉化及配置Mysql数据库教程
SpagoBI4.2汉化及配置Mysql数据库教程 商务智能套件SpagoBI提供一个基于J2EE的框架用于管理BI对象如报表.OLAP分析.仪表盘.记分卡以及数据挖掘模型等的开源BI产品.它提供的B ...
- 屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作
此篇写MySQL中最基础,也是最重要的操作! 第一篇:屌炸天实战 MySQL 系列教程(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:屌炸天实战 MySQL 系列教程(二) 史上最屌.你不 ...
- CentOS下Mysql安装教程
CentOS下Mysql安装教程 本人学习Linux时使用的是CentOs5.5版本,在该环境中,Mysql的安装方法有很多种,下面我只讲我这次成功了的方法,作为一个记录,供大家参考,同时给自己做一个 ...
- Windows之MySQL安装教程
MySQL安装说明 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,My ...
- linux下彻底卸载mysql 图解教程
linux下彻底卸载mysql 图解教程 1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysql可以看到如下图的所示: 说明之前安装了:MySQL-client-5.5.25 ...
- Windows下安装MySQL详细教程
Windows下安装MySQL详细教程 1.安装包下载 2.安装教程 (1)配置环境变量 (2)生成data文件 (3)安装MySQL (4)启动服务 (5)登录MySQL (6)查询用户密码 (7 ...
随机推荐
- Angular - - angular.uppercase、angular.lowercase、angular.fromJson、angular.toJson
angular.uppercase 将指定的字符串转换成大写 格式:angular.uppercase(string); string:被转换成大写的字符串. 使用代码: var str = &quo ...
- 如何在windows下载和安装Apache
进入apache服务器官网http://httpd.apache.org/,这里我们以下载稳定版的httpd 2.4.25为例,点击"Files for Microsoft Windows& ...
- apache的工作模式 和 最大连接数设置
经过测试 效果明显 (1)首选查看apache的工作模式 windows下的查看apache的工作模式命令:httpd -l 如果列出mod_win32.c,则表示是 win32.c 工作方式. 列出 ...
- js模块化开发——require.js的实战写法1
关于在Require.js使用一个JS插件的问题 我需要在项目中引用一个js控件,这个控件依赖于a.js,b.js,c.js,.....n.js N多个js以及jquery及jquery-ui,各js ...
- document.body.clientHeight的取值
http://www.cnblogs.com/fullhouse/archive/2012/01/05/2313800.html 有时候需要取页面的底部, 就会用到document.body.clie ...
- PHP那些最好的轮子
PHP那些最好的轮子 Databse 数据库ORM Doctrine 2 License : MIT Source Code Allo点评:Doctrine是功能最全最完善的PHP ORM,社区一直很 ...
- 基于Flex的HTTPService(GET和POST)
一.基于GET的HTTPService: <?xml version="1.0" encoding="utf-8"?><mx:Applicat ...
- AtomicInteger相关类
引用地址:http://blog.csdn.net/xh16319/article/details/17056767 在java6以后我们不但接触到了Lock相关的锁,也接触到了很多更加乐观的原子修改 ...
- 作为测试人员,我是这么报BUG的
在测试人员提需求的时候,大家经常会看到,测试员和开发一言不合就上BUG.然后开发一下就炸了,屡试不爽,招招致命. 曾经看到有个段子这么写道: 不要对程序员说,你的代码有BUG. 他的第一反应是:1.你 ...
- 深入了解GCD
首先提出一些问题: dispatch_async 函数如何实现,分发到主队列和全局队列有什么区别,一定会新建线程执行任务么? dispatch_sync 函数如何实现,为什么说 GCD 死锁是队列导致 ...