字符串尾数自增问题

infernor 2005-08-22 10:01:55
字符串尾数自增问题:
字段值aa1-u-001,a2-u-002……,尾数001,002……是自增的,但要先重数据库获取最大的尾数后加1。
要怎么写啊??
谢谢,
...全文
202 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
infernor 2005-08-22
  • 打赏
  • 举报
回复
包括在DELPHI中调SQL语句,也是不允许的。
infernor 2005-08-22
  • 打赏
  • 举报
回复
你看清楚。3层的中间层是做死的,更本就不能动SQL语句的注意。
楼上的你懂3层吗??
hellolongbin 2005-08-22
  • 打赏
  • 举报
回复
我建议楼主还是别做程序了
问题都解决到这一步了,还不知道怎么做的话,不如把客户介绍给我
infernor 2005-08-22
  • 打赏
  • 举报
回复
我的意思是:
只能取到数据库的值如:aa1-u-001
然后对aa1-u-001进行解析,得出XXX-002,后3位是定的,前面的位数是不定的。
不能用sql进行更改,SQl是由中间层返回的,返回的值是一定的,其中包括值aa1-u-001。
所有对SQL的操做都是不允许的。
konhon 2005-08-22
  • 打赏
  • 举报
回复
with TADODataSet.Create(nil) do
try
Connection:=con;
CommandText:='SELECT MAX(CAST(Right(字段, 3) AS INT)) + 1 FROM 表名'
Open;
Result:=Fields[0].AsString;
fianlly
Free;
end;

函数体基本上就是这样啦.
infernor 2005-08-22
  • 打赏
  • 举报
回复
必须用delphi的代码PASCAL代码处理
infernor 2005-08-22
  • 打赏
  • 举报
回复
我要的是DELPHI的代码怎么写,SQL是调用服务的,不能改的。谢谢
hhzqf1980 2005-08-22
  • 打赏
  • 举报
回复
select max(right(a,3)) from table
konhon 2005-08-22
  • 打赏
  • 举报
回复
SELECT MAX(CAST(Right(字段, 3) AS INT)) + 1 FROM 表名
konhon 2005-08-22
  • 打赏
  • 举报
回复
SELECT MAX(CAST(Right(字段, 3) AS INT)) + FROM 表名
merkey2002 2005-08-22
  • 打赏
  • 举报
回复
select cast (max(substring(yourfield,7,3)) as int)+1 from yourtable
infernor 2005-08-22
  • 打赏
  • 举报
回复
问题是获得结果后的分析。

如:

u:=clinedataset.filebyname('kkk').asstring
u的值为 aaa-001 或a1u001…… 只有后3位的位数是一定的(尾数),前面的位数不定
infernor 2005-08-22
  • 打赏
  • 举报
回复
3层!
中间层:所有的SQL语句写到服务中,运行在unix上。
本地:只是获得中间层的查询结果等。只能对查询结果进行分析。我可没说要存啊!
储存有储存的服务……,和这个问题无关。

中间层不接受本地的如DELPHI中的写的SQL语句。

没人做过3层吗??
无风飞尘 2005-08-22
  • 打赏
  • 举报
回复
konhon(优华) 的答案已经够了。
无风飞尘 2005-08-22
  • 打赏
  • 举报
回复
楼主下面两句话好像矛盾了:

但要先重数据库获取最大的尾数后加1。
所有对SQL的操做都是不允许的。

又要“从数据库获取最大的尾数”,又不能对SQL操作……我不是神,我是人,做不到。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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