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

原创 2006年05月19日 10:22:00

    前段时间工作涉及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等语句.

1. MySQL在navicat中text类型不显示问题

MySQL在navicat中text类型不显示问题 CREATE TABLE `test` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `msg` t...
  • shersfy
  • shersfy
  • 2016年11月14日 15:02
  • 1642

innodb使用大字段text,blob的一些优化建议

最近看到一些老应用,在表结构的设计上使用了text或者blob的字段;其中一个应用,对blob字段的依赖非常的严重,查询和更新的频率也是非常的高,单表的存储空间已经达到了近100G,这个时候,应用其实...
  • adparking
  • adparking
  • 2014年11月21日 11:51
  • 2166

mybatis如何操作text类型(mysql)数据呢?

Mybatis在预处理语句中设置一个参数,或者从结果集中获取一个值时,会使用类型处理器typeHandler将获取的值以合适的方式转换成Java类型。数据库中的基本类型之所以能被转化成JAVA类型,是...
  • happyrabbit456
  • happyrabbit456
  • 2016年09月23日 11:00
  • 6232

MYSQ LFULLTEXT索引实现全文搜索

使用FULLTEXT索引 MySQL具备全文搜索的能力。全文搜索引擎可以在不使用模板匹配操作的情况下查找单词或短语。全文搜索分为3种模式,如下所示。 自然语言模式。把搜索字符串解释为一系列单词并查找...
  • dongdongzzcs
  • dongdongzzcs
  • 2014年01月19日 20:41
  • 8446

mybatis下无法通过service注入查询到mysql的text的字段信息的解决办法

昨天做一个小项目遇到了这个问题,检查了半天还是发现查询是text类型的数据为空,最后才发现我没有引入,具体情况如下: 这是自动生成的mapper.xml代码: 我原来的查询方法是这样写的: 改...
  • qq_15955885
  • qq_15955885
  • 2017年12月27日 09:20
  • 116

mysql字段类型为int默认null,插入却显示0的解决办法,参考php代码

  • hai7425
  • hai7425
  • 2016年06月30日 16:49
  • 2306

CMS(新闻发布系统)存放新闻表内容的字段是text,数据过多无法插入,解决办法!

在做CMS的时候,插入新闻内容的时候,因为插入的数据过多,报错!出现无法插入的错误,第一时间想到text类型数据大小的限制,就上网搜索,换一下字段类型就可以了。做该项目的时候,用了百度编辑器! Ja...
  • u013456370
  • u013456370
  • 2016年03月13日 15:49
  • 706

mysql 不能插入中文和显示中文,不能显示中文解决办法

  • 2011年10月05日 17:54
  • 4KB
  • 下载

linux下的sublime text不能写中文解决办法

1、 保存下面的代码到文件sublime_imfix.c(位于~目录) #include void gtk_im_context_set_client_window (GtkIMC...
  • Alis_xt
  • Alis_xt
  • 2016年11月20日 13:06
  • 458

mysql_不能插入中文的解决办法

  • 2013年10月12日 12:59
  • 60KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于MySQL中不能显示TEXT字段的解决办法
举报原因:
原因补充:

(最多只允许输入30个字)