C#访问MySQL数据库(winform+EF)
以前都是C#连接SQLServer,现在MySQL也⽐较⽕了,⽽且是开源跨平台的,这⾥连接使⽤⼀下,主要是体会⼀下整个流程,这⾥使⽤的是winform 访问MYSQL,当然使⽤winfrom,还是wfp,以及其他的技术这⾥不讨论,个⼈觉得这个⽐较上⼿快。
1、安装MYSQl数据库,这⾥略过,可以参考此⽂档进⾏安装。
此⽂档已经⽐较细致了,安装并不复杂,主要是下⼀步下⼀步就⾏了,要会基本的配置,这⾥我的数据库⽤户名还是sa(建议⾃⼰建⽴⼀个⽤户),root的⽤户名和密码我们这⾥暂不使⽤。
2、连接MYSQL数据库,可以采⽤⾃带的MySQL Workbench 6.2 CE⼯具
登录后就可以进⾏建表等操作了,这⾥我建⽴⼀个数据库名称为MY_OA的数据库,我们直接使⽤SQL语句执⾏并建⽴数据库然后刷新列表就可以查看到我们建⽴的数据库了
如图(1)(2)(3)(4)对应的步骤,另外建⽴了数据库后还需要建⽴⼏张表来存储数据,这些都是基础的和SQLserver⼤同⼩异的。
脚本如下:
1 CREATE database My_OA
2
3 CREATE TABLE my_oa.sys_user
4 (
5 id INT not NULL AUTO_INCREMENT PRIMARY KEY,
6 userName varchar(32),
7 pwd varchar(32)
8
9 );
当然也可以使⽤图形界⾯来配置,直接⿏标右键来建表,主要是看个⼈的习惯了,熟悉的话直接SQL句会⽅便很多也⽐较快,
这⾥我们快速的插⼊三条数据,便于以后测试使⽤,因为ID是⾃增的,所以可以不⽤管,插⼊后你会发现ID已经⾃⼰有了,只是MYSQL中AUTO_INCREMENT和SQLSEVE的identity的区别
1 INSERT INTO sys_user(userName,pwd) VALUES('51diysoft','123');
2
3 INSERT INTO sys_user (userName,pwd) VALUES('xmd','123');
4
5 INSERT INTO sys_user (userName,pwd) VALUES('hjk','123');
当然说道这⾥我们还可以使⽤VS2013来连接MYSQL数据库,因为后边的EF框架要访问,肯定也能够连接吧,
我们打开VS的【视图】【服务器资源】,点到【数据库连接】右键添加“数据库”,然后就和正常连接SQLServer的步骤⼀样了
此处选择MYSQL就⾏了,正常情况下安装MYSQL的时候就会把VS对应的连接驱动等相关内容直接加⼊的,不⽤去⼿动加的,当然看到这⾥也是可以连接Oracel数据库的,红线标记的地⽅,道理应该类似。
下边需要服务器的地址,⽤户名和密码,最好测试能够连接通过,我这⾥是sa⽤户(注意不是默认的),是⾃⼰建⽴的⼀个⽤户,默认的是root,如果需要root来登录服务器的话必须在安装MYSQL的时候注意勾选,否则就要新建⼀个⽤户来操作。
这⾥数据已经有了,另外我们还可以使⽤SQLdbx、Navicat_Premium_11.0.10等数据库的客户端⼯具来连接,这⼯具智能提⽰⽐较强,⽽且体积⼩便于携带和维护
下⾯我们就以SQLdbx为例,讲解⼀下如何连接数据库,其实都是⼀样的连接,如下:
SQldbx的下载地址和本次的SQl脚本例⼦可以到百度云下载:
第⼀步:
需要选择连接的数据库类型(MYSQL),这⾥也是可以连接其他类型数据库的,⾃⼰看吧,也可以试试
第⼆步:
也是输⼊⽤户名和密码连接就⾏了。
数据库可以为空,等登陆后再选择数据库也可以。
另外我们对⽐⼀下数据库表的复制,SQLServer我们直接可以这样复制(在select * from 表)的中间加⼊⼀个into 新表:
SELECT * INTO sys_user3 FROM sys_user
⽽在MYSQL中我们直接这样写是报错的:只有传统的建表再导数据了,⽐如
CREATE TABLE test
(
SELECT * FROM sys_user
)
,⼆期默认⽣成的这个id不会⾃动增长的,需要注意⼀下,我们主要是为了备份表的数据。
不同的数据库肯定有些⼩区别,慢慢研究吧。
3、如何使⽤VS2013建⽴MYSQL的项⽬(这⾥讲winform吧)mysql下载不了怎么办
上边讲的有点多了,赶紧的
(1)、VS【⽂件】=》【新建】=》【项⽬】略过,注意选择对应的项⽬类型默认有winform和asp 的⾃⼰选择,另外我们还需要选择EF的版本,
如何对Entity Framework没啥感觉,没关系,简单来说就是微软帮你连接了数据库的是⼀个实体框架,让你操作起来⽐较⽅便,不⽤过多去写SQLhelper并能和linq语句lamda表达式等结合起来,提⾼开发效率,这个是⽐较实⽤的。
参考介绍:
另外还要说明的是EF的版本,我这⾥使⽤的是EF6,可以通过nuget⼯具包管理来获得最新版本

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。