CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

TQury如何取大于255的字符串?(SQL 2k)

楼主dby99(丁白一之反之)2003-08-02 22:20:37 在 Delphi / 数据库相关 提问

SQL   2K的数据库中有一字段为varchar(800),用TQuery中FieldByName().AsString  
  取出来只能取到前255字节,请问如何取得全部数据? 问题点数:100、回复次数:18Top

1 楼huojiehai(海天子)回复于 2003-08-02 22:46:43 得分 0

不可能这么少吧,是不是TQuery的字段列表中限制了Top

2 楼ljmanage(过客)回复于 2003-08-02 22:46:51 得分 20

varchar的最大长度本来就是255,超过255她都当作Text类型的做  
  你用query的字段和DBMemo来连接,显示出来Top

3 楼ljmanage(过客)回复于 2003-08-02 22:47:48 得分 0

FieldByName().AsString     就是只有255,用TblobField().来做好了Top

4 楼yesxwl(吴宫幽径)回复于 2003-08-02 22:53:07 得分 0

procedure   TForm1.Button6Click(Sender:   TObject);  
  var  
  str:string;  
  begin  
   
    str:=adoquery1.FieldValues['fff'];  
    showmessage(inttostr(length(str)));  
     
  end;  
   
  fff为varchar(800)Top

5 楼huojiehai(海天子)回复于 2003-08-02 22:55:29 得分 0

varchar在oracle中能到2000个字符  
  在Sql   serverK上能到4000个字符Top

6 楼dby99(丁白一之反之)回复于 2003-08-03 10:14:56 得分 0

我想用TblobField,但怎样把它与TQuery联系起来?请大虾再指点一下!!!Top

7 楼huojiehai(海天子)回复于 2003-08-03 10:19:40 得分 0

TblobField(query1.fieldbyname(...)).loadfromfile(..);  
  TblobField(query1.fieldbyname(...)).SaveTofile(..);Top

8 楼dby99(丁白一之反之)回复于 2003-08-03 10:27:28 得分 0

我用TblobField(query1.fieldbyname(...)).AsString取出来还是只有255字节Top

9 楼yesxwl(吴宫幽径)回复于 2003-08-03 12:57:03 得分 0

adoquery1.FieldValues['fff'];  
  这个方法我已经测试过了Top

10 楼xybh97102(冰点)回复于 2003-08-03 13:15:19 得分 50

哈哈,你的String类型长度最大就是255  
  如果你的这个字段的长度太大的话,就把他设为Text类型的吧  
  Top

11 楼xybh97102(冰点)回复于 2003-08-03 13:18:16 得分 0

定义成AnsiString 或者WideString,不过按说默认的就是AnsiString啊Top

12 楼qianguob(不懂编程)回复于 2003-08-03 14:08:13 得分 0

你用的是DEPHI   几啊。  
   
  最好是用TEXT类型了。Top

13 楼taothinker()回复于 2003-08-03 16:01:14 得分 30

是BDE中的某个参数需要改动,如用ADO则无此问题!!!Top

14 楼WindowsAPI(风暴)回复于 2003-08-03 16:09:05 得分 0

字段的长度大于255个字符就被Delphi认为是TBlobField字段了,这时不能用AsString赋值,否则截取,应该用TQuery中FieldByName().AsMemo赋值。  
  Top

15 楼dby99(丁白一之反之)回复于 2003-08-04 10:35:43 得分 0

请问taothinker()   ,如何改BDE参数?  
  感谢各位大虾的支持!!!  
  我不想用ADO,TQuery中FieldByName().AsMemo这个方法好像没有,编译会报错  
  能否用GetFieldData或GetBlobFieldData??Top

16 楼hkbarton(→Beginner←)回复于 2003-08-04 10:57:01 得分 0

那么长你不如在数据库里用备注类型Top

17 楼dby99(丁白一之反之)回复于 2003-08-04 11:32:08 得分 0

数据库中用什么类型都可以,关键是TQuery能取出来  
  Top

18 楼dby99(丁白一之反之)回复于 2003-08-07 19:54:16 得分 0

最后的解决方法:把Varchar(800)改为Text就可以用FieldByName().AsString来读取了,  
  感谢各位大虾的大力支持Top

相关问题

  • SQL 字符串问题
  • 怎样在pb中执行字符串(sql语句字符串)
  • SQL Server里字符串里含字符串时如何写?
  • 关于SQL Server连接字符串
  • sql server截取字符串的函数。
  • 一个sql server字符串问题
  • sql server 中字符串的问题
  • 怎么写这个SQL字符串
  • Sql 语句字符串排序问题
  • 局域网SQL连接字符串

关键词

  • 字段
  • 字符
  • sql
  • tblobfield
  • fieldbyname
  • tquery
  • asstring
  • 大虾
  • 长度
  • 类型

得分解答快速导航

  • 帖主:dby99
  • ljmanage
  • xybh97102
  • taothinker

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo