菜鸟提个关于SQL语句的问题... ( 积分: 100 )

3

340340

Unregistered / Unconfirmed
GUEST, unregistred user!
请问类似按月交费这种程序,它的录入时对于上月数和本月数的处理是怎么搞的?(比如:
当前日期 上月指数 本月指数 ID 其他……
2005年2月1日 0 4 1 ……
2005年3月2日 4 9 1 ……
2005年4月6日 9 18 1 ……
菜鸟我想实现的是,选择编号后,其它信息自动读取到EDIT里,但是对于这种读取前一个月的本月指数为本次录入时的上月指数这种情况不知道如何处理……请问SQL语句该如何写呢?
 
请问类似按月交费这种程序,它的录入时对于上月数和本月数的处理是怎么搞的?(比如:
当前日期 上月指数 本月指数 ID 其他……
2005年2月1日 0 4 1 ……
2005年3月2日 4 9 1 ……
2005年4月6日 9 18 1 ……
菜鸟我想实现的是,选择编号后,其它信息自动读取到EDIT里,但是对于这种读取前一个月的本月指数为本次录入时的上月指数这种情况不知道如何处理……请问SQL语句该如何写呢?
 
表述问题不清晰啊
我看了半天终于明白你说的什么意思!

SELECT *
FROM TableName
WHERE (ID =
(SELECT MAX(id)
Tablename))
然后
Edit(上月指数).text:=adoquery1.fields.fieldbyname('本月指数').asinteger;
搞定!
 
哦哦,写错了,ID应该都是1。。。怎么编辑原帖子内容。。。
当前日期 上月指数 本月指数 ID 其他……
2005年2月1日 0 4 1 ……
2005年3月2日 4 9 1 ……
2005年4月6日 9 18 1 ……
因为我也是有点混乱,水平又菜……还望热心的大虾们热心帮助啊。。。。谢谢!
 
那就这样
SELECT *
FROM TableName
WHERE (当前日期 =
(SELECT MAX(当前日期)
FROM TableName))
然后
Edit(上月指数).text:=inttostr(adoquery1.fields.fieldbyname('本月指数').asinteger);
搞定!
给分
 
不用改了,问题已经解决
给分吧
 
HuangJH说的不错,你录入的时候先取以前最后一个月的,如果有必要还可以判断一下当前月是不是数据集的下一个月!
 
解答如下:
// 使用递归算法:
procedure displayalldata(shangyue:integer);
begin
adoquery1.sql.clear;
adoquery1.sql.clear;
listbox1.item.clear;//append data;
adoquery1.sql.add('select * from tablename where 上月指数=:p');
adoquery1.sql.paramers.paramersbyname('p').value:=shangyue;
adoquery1.open;
while not adoquery1.eof do
begin
listbox.item.add(adoquery1.fieldbyname('本月指数').asstring);
displayalldata(adoquery1.fieldbyname('本月指数').asinteger);
adoquery1.next;
end;
end;
end;
具体情况套用即可
email:nhxz@sohu.com
 
OK,谢谢几位大虾,另外还请nhxz大虾注释一下,菜鸟偶真的是很菜那种。。。
 

Similar threads

回复
0
查看
859
不得闲
S
回复
0
查看
954
SUNSTONE的Delphi笔记
S
S
回复
0
查看
775
SUNSTONE的Delphi笔记
S
顶部