Heim  >  Artikel  >  Datenbank  >  C#操作MySQL数据库的简单例子_MySQL

C#操作MySQL数据库的简单例子_MySQL

WBOY
WBOYOriginal
2016-06-01 13:52:001052Durchsuche

本示例演示了用C#操作MySQL的方法,提供了三个可重用的类MySqlDBUtil,MySqlPageUtil,Page。
本示例由 C#操作Access数据库的简单例子修改而来。
1.首先下载MySQL数据库的.NET驱动
http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-5.0.8.1-noinstall.zip/from/pick#mirrors
将bin目录里的MySql.Data.dll文件复制到工程目录,并且将dll的引用加入到项目中,这样就可以通过相关的类来操作MySQL数据库了。
using MySql.Data.MySqlClient;
using System.Data;
连接字符串:String connectionString = "server=127.0.0.1;user id=root; password=as; database=3tvs; pooling=false;charset=utf8";
连接字符串中各个项目的意思是很明确的,需要注意的是charset应该设置成和数据库表的charset一致,否则可能出现中文乱码。
然后将整个项目中的OleDb用MySql替换,这样基本上就可以了。不同的是带参数的sql语句,
Access中是
string sql="insert into product(name,quantity,price,sale_date,checked_flag)values(?,?,?,?,?)";
parameters[0]=new MySqlParameter("@name",MySqlDbType.VarChar,100);
MySql中应改为
string sql="insert into product(name,quantity,price,sale_date,checked_flag)values(?name,?quantity,?price,?sale_date,?checked_flag)";
parameters[0]=new MySqlParameter("?name",MySqlDbType.VarChar,100);
2.取得MySQL自增标识字段在插入数据后的id值
cmd.CommandText = @"select @@identity";
int value = Int32.Parse(cmd.ExecuteScalar().ToString());
return value;
用cmd.CommandText = @"select LAST_INSERT_ID()";结果一样,两者的区别没有研究。
3.分页查询
使用Limit子句来处理分页查询,这样相对于Access的分页查询,代码大量简化,效率也会提高。
代码这里下载下载文件MySqlDBUtilDemo.rar (198.41 KB , 下载:4166次)
本例程是一个c#的winform程序,但是数据访问类可以在Web环境下使用。
运行前先利用bin/Release下的sql语句文件建表并修改MySqlDBUtil中的连接字符串。
本例程演示了:
1.MySQL数据库的插入,更新,修改,查询;
2.带参数的sql语句的使用,而不是拼SQL;
3.使用Limit子句的分页查询;
4.用事务同时执行多个SQL语句;
5.在插入数据的同时返回最新的ID值;
6.整型,实型,字符串,日期型,布尔型五种数据类型的操作;
7.使用正则表达式来验证整数和实数;
8.listview用来显示数据的一些基本用法。
本示例不包括:
1.完善的分页封装,只提供了分页的简单包装。
2.嵌套的事务处理,提供了同时执行多个sql语句的事务处理,但不支持嵌套事务。
3.listview的使用,只是利用winform控件来演示数据访问,因此不能作为winform编程的良好示例,例如添加数据时界面并没有很好地更新。
后记:
由于API接口一致,将操作Access数据库的类改为操作MySQL数据库的类很容易,利用这两个示例,可以学习基本的数据库操作,也可以用来做一些简单的应用程序了。实际的项目中有成熟的开源项目可用,如iBATIS.NET和NHibernate,这些项目都建筑在这些基本的API之上,先学习我写的这两个小例子也有助于学习理解这些项目。

轻松一下就上http://www.3tvs.info

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn