delphi程序,数据库中有一个显示的是整型数字的字段,从中判断出最大值后,然后判断从1到最大数之

delphi程序,数据库中有一个显示的是整型数字的字段,从中判断出最大值后,然后判断从1到最大数之间遗漏的数字,并全部列到文本框中。... delphi程序,数据库中有一个显示的是整型数字的字段,从中判断出最大值后,然后判断从1到最大数之间遗漏的数字,并全部列到文本框中。 展开
 我来答
dodolon
2013-11-19 · TA获得超过7713个赞
知道大有可为答主
回答量:4477
采纳率:84%
帮助的人:2108万
展开全部

这个问题是典型的设标志的问题,对已用过的数值设标志,就能根据标志知道哪些数值没有使用过。设标志的方法很多,如果数值的范围不大,效率最高的就是用用数组(字符串也是数组),你的问题就是这种情况。给个简单的例子给你,具体算法自己看看代码吧。例子中把未使用过的数值放到下拉列表框中,这样应该更方便后续处理。如果你确实要放到文本框中,有了算法你自己不难做到。

追问
我的是delphi7,提示没有ansitring
追答

delphi7把uses中的AnsiStrings单无换成StrUtils单元,如果重复的去掉一个就可以。代码行中指定的AnsiStrings单元去掉即可。

linfeng820808
2013-11-18
知道答主
回答量:3
采纳率:0%
帮助的人:4.9万
展开全部
procedure button1.click();
var i:inteter;
begin
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add(select max(filename) as maxint from tablename ');
adoquery1.open;
i:=adoquery1.fieldvalues['maxint'];
adoquery2.close;
adoquery2.sql.clear;
adoquery2.sql.add(select distinct filename from tablename where filename<' + i );
adoquery2.open;
text1.text;
while not adoquery2.eof do
begin
text1.text:=text1.text + ',' + adoquery2.fieldvalues[filename];
adoquery2.next;
end
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
薛刚1982
2013-11-19
知道答主
回答量:13
采纳率:0%
帮助的人:12万
展开全部
SELECT DISTINCT col
FROM table tb INNER JOIN 
(SELECT MAX(col) maxcol FROM table ) tb2
ON tb.col >=1 AND tb.col<tb2.maxcol
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式