zoukankan      html  css  js  c++  java
  • C#操作MySQL数据库的简单例子

    本示例演示了用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

  • 相关阅读:
    IIS6的http.ini伪静态规则转换为IIS7伪静态规则的方法
    php ecshop 二级域名切换跳转时session不同步,解决session无法共享同步导致无法登陆的问题
    ECSHOP登录自动退出问题解决
    aspcms 分享到微信显示找不到模版的解决办法!
    ASPCMS内容调用去掉html标签
    凡是出现了问题,都是有原因存在的。
    spring下载地址
    比较好的资源
    xp系统下,安装github时,需要下载的补丁
    联合更新语句,根据photo中的数量更新相册表Num列
  • 原文地址:https://www.cnblogs.com/hyruur/p/2074358.html
Copyright © 2011-2022 走看看