delphi的string类型只能容纳255个字符吗,多了怎么办?急需解答,在线给分。

arg 2002-07-10 12:57:52
小弟作数据库编程时,有一个较长的sql写入query,可是编译不能通过,

delphi说string类型不大于255个字符。我看帮助说在默认的情况下是 string是

asnistring可以达到4g的量。可是我就是在.dpr文件中加入了{$H+}还是不能通过

各位给个办法吧
...全文
281 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
arg 2002-07-10
  • 打赏
  • 举报
回复
的确如 sean2000(地宽天高) 说的。是单引号的问题。我用+号连接程序已经通过了。谢谢大家。


结贴。
arg 2002-07-10
  • 打赏
  • 举报
回复
的确是如sean2000(地宽天高) 说的是单引号的问题。我刚才使用+号来连接,程序已经通过了。谢谢大家!

现在可以结贴了。我最多只能加一百分。对不起大家了,如果需要分得。请提出,我另外开贴给。
dreamfan 2002-07-10
  • 打赏
  • 举报
回复
把你的sql语句用加号连接就没问题了,
我就是这么做的,保证没问题。
还有,我告诉你,这个就是字符串长度的问题,而不是上面各位说的问题
相信我,没错的。。
dreamfan 2002-07-10
  • 打赏
  • 举报
回复
把你的sql语句用加号连接就没问题了,
我就是这么做的,保证没问题。
还有,我告诉你,这个就是字符串长度的问题,而不是上面各位说的问题
相信我,没错的。。
sean2000 2002-07-10
  • 打赏
  • 举报
回复
Delphi的string可以大於255字符,但是在一对分号中不能有大于255个字符,你可以这样写
s := 'a..b' + 'c..d' + 'e..f';
其中'a..b'、'c..d'、'e..f'都可以为小于255个字符的字符串。

erickleung 2002-07-10
  • 打赏
  • 举报
回复
楼上的都说是Query提交到Sql server的限制. 相信是为了配合所有sql server
的规格而定了 255字符的限制. Delphi的string可以大於255字符.
yangxiao_jiang 2002-07-10
  • 打赏
  • 举报
回复
你用别的类型试试,象楼上用widestring
seasecond 2002-07-10
  • 打赏
  • 举报
回复
你用widestring试试
Wally_wu 2002-07-10
  • 打赏
  • 举报
回复
是的,Delphi中的String最大只能是255,如果你有多于255个字符的需要,你可以用TSstringList或定义一个动态字符数组,例如:
var
StrList: TStringList
Chr: Array of char;
guguda 2002-07-10
  • 打赏
  • 举报
回复
分开写。
arg 2002-07-10
  • 打赏
  • 举报
回复
我用得的是Tclientdataset.commandtext

可是在就是写成型如
S:Ansistring

S := 'SELECT a.JHID,a.WRAnalyzeListID,c.PlanName AS WRAnalyzeName,a.EditDate,a.Editor,c.PhaseID AS Expr1 FROM Con_WorkerRequireAnalyzeList as a INNER JOIN Plan_LabourSumList as b INNER JOIN Plan_schedulePlanList as c ON b.PhasePlanID = c.PhasePlanID ON a.JHID = b.LabSumID where a.JHID not in(select distinct JHID from lab_classjob)';

都不行
winder_008 2002-07-10
  • 打赏
  • 举报
回复
weniweishenm yao zai yiqi xie neir weishenm bu kai xie neng ?
为什么要在一起写呢?

分开写不是很好吗
ych121 2002-07-10
  • 打赏
  • 举报
回复
同意kyee(浪子阿鹏)的说法
windofsun 2002-07-10
  • 打赏
  • 举报
回复
可以这样用:
s := '你的SQL语句';
Query1.SQL.Text := s;
很土 2002-07-10
  • 打赏
  • 举报
回复
你可以直接对 SQL.Text 赋值,试试?
很土 2002-07-10
  • 打赏
  • 举报
回复
这个问题不是 String 的长度的问题,而是发送 SQL 语句到服务器时,服务器一次能够接收的字符数。
neilwq 2002-07-10
  • 打赏
  • 举报
回复
str1:='...';
str2:='....';
str:=str1+str2;
query1.sql.add(str);
把str分开成几个小的再组合
arg 2002-07-10
  • 打赏
  • 举报
回复
可是delphi的帮助中说 在默认的情况下string其实是ansistring可以长达4G
的阿。
neilwq 2002-07-10
  • 打赏
  • 举报
回复
str1:='...';
str2:='....';
str:=str1+str2;
query1.sql.add(str);
把str分开成几个小的再组合
xxcsoftware 2002-07-10
  • 打赏
  • 举报
回复
你可以分段加入没有其它的办法了.
加载更多回复(1)

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧