源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#使用开源驱动连接操作MySQL数据库

  • 时间:2022-01-21 10:07 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#使用开源驱动连接操作MySQL数据库
前面一篇 http://www.1sucai.cn/article/61219.htm 讲了 C# 里用 MySQL 官方驱动怎么去连接操作 MySQL 驱动,就是 MySQL 的 JDBC 驱动有两个一样,针对 .NET 的 MySQL 驱动也有两个。这里介绍的就是 .NET 连接 MySQL 的第二个驱动,来自于 Sourceforge 的开源驱动。 首先,到 http://sourceforge.net/projects/mysqldrivercs/ 下载,写此篇时下载的版本是 MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2.0.exe。安装,其中带有源代码和例子,只有三个动态库 libmySQL-4.0.dll、libmySQL.dll、MySQLDriverCS.dll,光看动态库好像不及官版的驱动强大。把安装目录中的 MySQLDriverCS.dll 引入到你的 C# 项目中就可以开始用了。具体用法还需时刻关注安装目录中的 help\SDK\Documentation.chm 帮助文档。 也还是围绕着这么几个问题来展开: 基本的用法,如连接字符串的写法,基本查询操作,大概会用到哪些类 异常的处理 事物的处理 参数化的查询支持 这次我会在一个例子中涉及到以上四个方面,下面这个片代码有点混乱,使用时请读懂来,然后才能各取所需:
option_name=@name 代码如下:
{"Could not load file or assembly 'MySQLDriverCS, Version=3.0.1735.36021, Culture=neutral, PublicKeyToken=172f94dfb0faf263' or one of its dependencies. An attempt was made to load a program with an incorrect format."}
又是我那可恶的 64 位 XP,它只能支持 32 位的应用,与官版的驱动表现不一样。官版的 MSI 程序不能在我的 64 位系统下安装,但安装包中的 .dll 是可在 64 位下用。而这个版本的驱动是能安装,但用起来告诉我不行,明摆着是甩我。其实在下载驱动的网页上有注明用了 32 位的各种 Winows 操作系统云云。 最后简单说下与官版的驱动的少许差异,连接字符串上没有官版驱动丰富,且不知对连接池的支持如何。在用参数化查询设置参数时,虽然比标签的 ADO.Net 方便,便比起官版的可用 AddWithValue() 方法稍微逊色。再就是在 64 位下根本无法运行,这可不能不算是个致使伤,服务器下 64 位系统在所难免。 然而这个开源驱动也有些独到之处,那就是它提供的 MySQLInsertCommand、MySQLSelectCommand、MySQLUpdateCommand 和 MySQLDeleteCommand 类方便了数据操作,不需要你显式的去写 SQL 语句,很像 WordPress 的 $wpdb 中相应的几个函数:$wpdb->insert()、$wpdb->query()、$wpdb->update() 和 $wpdb->delete()。 本不应该把这个驱动这么鲜明的几个特性放后面的。大概看下这几个函数的操作:
[u]复制代码[/u] 代码如下:
 new MySQLInsertCommand(                 dbCon,//连接                 new object[,] { //字段名及对应值                     {"SettingID",100},                     {"SettingValue","http://www.1sucai.cn"}                 },                 "Settings" //表名             ); //new 后即执行,可用 bSuccess 与 Query 属性分别获得成功与否及相应的 SQL               //这个 MySQLSelectCommand 有点让人蛋疼,还不如直接 SQL 痛快             DataTable dt = new MySQLSelectCommand(dbCon, //连接                 new string[] { "SettingID", "SettingValue" },//要查询的字段列表                 new string[] { "Settings" }, // 要查询的表,可以多个                 new object[,] { { "SettingID", "=", 100 } },//条件                 null,                 null //后面还可以有 limit, distinct 等指令及参数             ).Table; //获得 DataTable               //更新时用这种方式还算方便             new MySQLUpdateCommand(dbCon,                 new object[,] { { "SettingValue", "http://www.1sucai.cn" } },                 "Settings",                 new object[,] { { "SettingID", "=", 100 } },                 null             ); //new 后即执行,可用 bSuccess 与 Query 属性分别获得成功与否及相应的 SQL               //参数与 MySQLUpdateCommand 的后四个相同             new MySQLDeleteCommand(dbCon, "Trash", null, null);
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部