请问高手:MySQLDriverCS 和 MySQL Connector/Net 哪个性能更好一些?不知谁做过比较? 1、MySQLDriverCS 和 MySQL Connector/Net 哪个性能更好一些?不知谁做过比较? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只用过 MySQL Connector/Net 由于忙项目开发,没有多少时进行测试。只是草草的看了一下MySQL Connector/Net手册,感觉MySQL Connector/Net还是没有MySQLDriverCS.好。1.MySQLDriverCS 现已经是3.0.x版,.NET刚发行,它就应运而生; 性能还是比较稳定。我用它做过一个小项目。 功能比较全。在最新版提供了事务的支持。 支持mono,.net1.0,.net1.1 ,.net2.02.MySQL Connector/Net 版本才1.0.x,出现较晚。 功能不全。没有SQLInsertCommand, UpDataCommand ,SelectCommand . 两个都用过,如果使用最直接类,没什么感觉,如果使用ODBC的话,MS-SQL销微快一点 前几天在使用mysql时候发现一个问题当按中文关键查询的时候发现查不到,但也不报错误.select * from User where User_Name='一蓑烟雨任平生';后来查了一帮助,发现原来mysql对中文字段是按Binary进行存储.查询也是一样.只需加这个关键字就可以了.select * from User where Binary User_Name='一蓑烟雨任平生' 这个贴子以后将成为我开发mysql数据库问题的汇集 希望大家也参与此贴,发布关于.net 开发 mysql所遇到的问题. 我什么连MySql数据库时会出现“请求的名称有效并且在数据库中找到,但是它没有相关的正确的数据来被解析”的错误? 用MysqlConnector/Net吧,我用这个,很好用的,至于性能,我没有去测试这两个。 今天又发现一个问题:当我使用MySQLDriverCS 查询 带有Text字段表,出现Text字段的值不能得出正确的值,不论记录Text字段的值是什么,得到的都是"System.Byte[]" .用的是MySQLSelectCommand命令进行查询.不得其解.后来在网上查询.得到的结果是只能用Reader进行读取才可以,无奈只能用Reader方法了.具体代码如下: public string GetString() { string retvalue=""; MySQLConnection conn = new MySqlConn().Open(); try { string cmdText ="select TextFildes from Table1 where TextFildesOID = '" + this.TextFildesOID.ToString() +" '"; MySQLDriverCS.MySQLCommand mysqlcmd =new MySQLCommand(cmdText,conn) ; MySQLDriverCS.MySQLDataReader mysqlreader =mysqlcmd.ExecuteReaderEx(); if (mysqlreader.Read()) { retvalue =mysqlreader.GetString(mysqlreader.GetOrdinal("TextFildes")); } mysqlreader.Close(); } catch(MySQLException ex) { this.log.Error("TextFildesTable",ex); } finally { conn.Close(); conn.Dispose(); } return retvalue; } 不知道MysqlConnector/Net有没有这样的问题? 关于中文问题:1.要设置mysql数据库支持中文,我设置的是gbk2.设置连接字符串具体是: 1、用MySQLDriverCS在conn.open();后先执行:MySQLCommand cmd=new MySQLCommand("set charset gb2312",conn);//或者是 MySQLCommand cmd=new MySQLCommand("set charset gbk",conn);也可以.我都试过.cmd.ExecuteNonQuery();cmd.Dispose();再执行你的其它语句,即可。2、用MySQL Connector/Net在连接字符串后面加上charset=gb2312;说明:第2种方法我没有试,是在csdn中找的。如成功告知一下。我主要用MySQLDriverCS; 谢谢 chsfly(一蓑烟雨任平生) ==================================后一种方法是可以的,连接字串后面加上;charset=gb2312就可以支持中文了。(我试验的是insert一个中文varchar字段,不加的话,插入的都是问号) "cosmicking(.net新手)我什么连MySql数据库时会出现“请求的名称有效并且在数据库中找到,但是它没有相关的正确的数据来被解析”的错误?"给出详细的错误信息,最好能给出代码. C#链接mysql 报表定义具有无法升级的无效目标命名空间 c#入门经典说,在vs中可以象表格一样编辑xml文件,可是我为何找不到这个功能呢? 求解释。不光要答案。 请问C#控制台应用程序里怎么调用自己写的函数? C# 如何使窗体任何时候都响应键盘事件 像360webQQ 那样用C# 封装网页 金额日期从小写转换到大写函数(按人行培训手册上的规范编写) C#声明数组 数据库流水号问题!明白人请进!谢谢! C#中在Form1窗口中按下button1按钮如何实现弹出Form2窗口 求一抽奖算法,大家给点思路!
1.MySQLDriverCS
现已经是3.0.x版,.NET刚发行,它就应运而生;
性能还是比较稳定。我用它做过一个小项目。
功能比较全。在最新版提供了事务的支持。
支持mono,.net1.0,.net1.1 ,.net2.0
2.MySQL Connector/Net
版本才1.0.x,出现较晚。
功能不全。没有SQLInsertCommand, UpDataCommand ,SelectCommand .
select * from User where User_Name='一蓑烟雨任平生';后来查了一帮助,发现原来mysql对中文字段是按Binary进行存储.查询也是一样.只需加这个关键字就可以了.select * from User where Binary User_Name='一蓑烟雨任平生'
当我使用MySQLDriverCS 查询 带有Text字段表,出现Text字段的值不能得出正确的值,不论记录Text字段的值是什么,得到的都是"System.Byte[]" .用的是MySQLSelectCommand命令进行查询.
不得其解.
后来在网上查询.得到的结果是只能用Reader进行读取才可以,无奈只能用Reader方法了.
具体代码如下: public string GetString()
{
string retvalue="";
MySQLConnection conn = new MySqlConn().Open();
try
{
string cmdText ="select TextFildes from Table1 where TextFildesOID = '" + this.TextFildesOID.ToString() +" '"; MySQLDriverCS.MySQLCommand mysqlcmd =new MySQLCommand(cmdText,conn) ;
MySQLDriverCS.MySQLDataReader mysqlreader =mysqlcmd.ExecuteReaderEx();
if (mysqlreader.Read())
{
retvalue =mysqlreader.GetString(mysqlreader.GetOrdinal("TextFildes"));
}
mysqlreader.Close();
}
catch(MySQLException ex)
{
this.log.Error("TextFildesTable",ex);
}
finally
{
conn.Close();
conn.Dispose();
}
return retvalue;
}
1.要设置mysql数据库支持中文,我设置的是gbk
2.设置连接字符串
具体是:
1、用MySQLDriverCS
在conn.open();后
先执行:
MySQLCommand cmd=new MySQLCommand("set charset gb2312",conn);
//或者是 MySQLCommand cmd=new MySQLCommand("set charset gbk",conn);也可以.我都试过.
cmd.ExecuteNonQuery();
cmd.Dispose();
再执行你的其它语句,即可。2、用MySQL Connector/Net
在连接字符串后面加上charset=gb2312;
说明:第2种方法我没有试,是在csdn中找的。如成功告知一下。我主要用MySQLDriverCS;
==================================
后一种方法是可以的,连接字串后面加上;charset=gb2312就可以支持中文了。(我试验的是insert一个中文varchar字段,不加的话,插入的都是问号)
我什么连MySql数据库时会出现“请求的名称有效并且在数据库中找到,但是它没有相关的正确的数据来被解析”的错误?
"
给出详细的错误信息,最好能给出代码.