mysql中text不显示_关于MySQL中不能显示TEXT字段的解决办法

前段时间工作涉及MySQL数据库的操作,发现其中的TEXT字段读不出来,在CSDN上面发贴,得到一种答案,一直没时间测试,现在转在这里:

http://community.csdn.net/Expert/TopicView3.asp?id=4626220

主  题:  请问高手:MySQLDriverCS 和 MySQL Connector/Net 哪个性能更好一些?不知谁做过比较?

作  者:  chsfly (一蓑烟雨任平生)

等  级:

信 誉 值:  100

所属论坛:  .NET技术 C#

问题点数:  200

回复次数:  18

发表时间:  2006-3-20 12:51:17

1、MySQLDriverCS 和 MySQL Connector/Net 哪个性能更好一些?不知谁做过比较?

回复人:chsfly(一蓑烟雨任平生) ( ) 信誉:100 2006-3-20 15:33:52 得分:0

看来我得顶一下?难道就没有大侠用过吗?

回复人:eglic(圪圪) (错过的,还能找回来么?) ( ) 信誉:106 2006-3-21 13:41:00 得分:0

只用过 MySQL Connector/Net

回复人:syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*) ( ) 信誉:95 2006-3-21 13:56:28 得分:0

没用过,为啥你不自己测一下呢?

回复人:chsfly(一蓑烟雨任平生) ( ) 信誉:100 2006-3-24 15:22:54 得分:0

由于忙项目开发,没有多少时进行测试。只是草草的看了一下MySQL Connector/Net手册,感觉MySQL Connector/Net还是没有MySQLDriverCS.好。

1.MySQLDriverCS

现已经是3.0.x版,.NET刚发行,它就应运而生;

性能还是比较稳定。我用它做过一个小项目。

功能比较全。在最新版提供了事务的支持。

支持mono,.net1.0,.net1.1 ,.net2.0

2.MySQL Connector/Net

版本才1.0.x,出现较晚。

功能不全。没有SQLInsertCommand, UpDataCommand ,SelectCommand .

回复人:chsfly(一蓑烟雨任平生) ( ) 信誉:100 2006-3-24 15:23:38 得分:0

下次有时间再测测它们的性能比较。

回复人:chentianfen(yi) ( ) 信誉:100 2006-3-24 15:49:11 得分:0

两个都用过,如果使用最直接类,没什么感觉,如果使用ODBC的话,MS-SQL销微快一点

回复人:chsfly(一蓑烟雨任平生) ( ) 信誉:100 2006-04-04 09:28:00 得分:0

前几天在使用mysql时候发现一个问题当按中文关键查询的时候发现查不到,但也不报错误.

select * from User where User_Name='一蓑烟雨任平生';

后来查了一帮助,发现原来mysql对中文字段是按Binary进行存储.查询也是一样.只需加这个关键字就可以了.

select * from User where Binary User_Name='一蓑烟雨任平生'

回复人:chsfly(一蓑烟雨任平生) ( ) 信誉:100 2006-04-07 11:28:00 得分:0

这个贴子以后将成为我开发mysql数据库问题的汇集

回复人:chsfly(一蓑烟雨任平生) ( ) 信誉:100 2006-04-10 15:10:00 得分:0

希望大家也参与此贴,发布关于.net 开发 mysql所遇到的问题.

回复人:cosmicking(.net新手) ( ) 信誉:100 2006-04-10 16:54:00 得分:0

我什么连MySql数据库时会出现“请求的名称有效并且在数据库中找到,但是它没有相关的正确的数据来被解析”的错误?

回复人:runnercn() ( ) 信誉:98 2006-04-10 17:25:00 得分:0

用MysqlConnector/Net吧,我用这个,很好用的,至于性能,我没有去测试这两个。

回复人:chsfly(一蓑烟雨任平生) ( ) 信誉:100 2006-04-12 10:56:00 得分:0

今天又发现一个问题:

当我使用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;

}

回复人:chsfly(一蓑烟雨任平生) ( ) 信誉:100 2006-04-12 10:57:00 得分:0

不知道MysqlConnector/Net有没有这样的问题?

回复人:chsfly(一蓑烟雨任平生) ( ) 信誉:100 2006-04-12 11:09:00 得分:0

关于中文问题:

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;

回复人:daguohuai() ( ) 信誉:96 2006-04-12 14:27:00 得分:0

谢谢 chsfly(一蓑烟雨任平生)

==================================

后一种方法是可以的,连接字串后面加上;charset=gb2312就可以支持中文了。(我试验的是insert一个中文varchar字段,不加的话,插入的都是问号)

回复人:chsfly(一蓑烟雨任平生) ( ) 信誉:100 2006-04-12 16:57:00 得分:0

"cosmicking(.net新手)

我什么连MySql数据库时会出现“请求的名称有效并且在数据库中找到,但是它没有相关的正确的数据来被解析”的错误?

"

给出详细的错误信息,最好能给出代码.

我补充一下: 上面的方法是针对.NET的,我在使用Delphi7开发的过程中遇到了同样的问题,后来也依照上面的办法解决了:

比如可以TADOQuery组件先执行SQL语句"set charset gb2312";然后再执行Select or Insert等语句.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值