怎样将数据库中的不同数据取出(40分)

  • 主题发起人 主题发起人 elfgirl
  • 开始时间 开始时间
E

elfgirl

Unregistered / Unconfirmed
GUEST, unregistred user!
比如我数据库中有5条记录,这五条的第一个字段分别为1,2,2,3,3我怎么把1,2,3提出
而且分别取得2对应的两条记录的其他字段的内容,3对应的的两条记录的其他字段的内容。
例如:名称: 学号
1 小小
2 小样
2 小心
3 样品
3 太阳
把1,2,3取出,把2对应的两个记录取出。例子不太恰当,实现要求即可
 
select × from tablename where 名称= 2
然后用query控件
adoquery1。first
这是第一条
adoqurey1。next
这是第二条
 
分两次取
 
临时表,循环可以实现:
临时表两个字段,一个存原表字段名,设置为关键字,另一个存内容
循环查找,如临时表有该字段名的记录,则更改内容,以“;”隔开,
如没有查到则增加新记录.
 
用子查询
 
能不能详细点,我不太懂。sgs125我并不知道2,而是应该查询出来。也就是先查出不重复的
有1,2,3然后1对应的记录,2对应的记录,3对应的记录。事先我并不知道2而且还有可能有
两个4
 
1) select max(count(名称)) from 表 --知道一张表中相同的名称最多的个数N
2) select a1.名称,a1.学号,a2.学号......aN.学号
from 表 a1,表 a2,......表 aN
where a1.名称=a2.名称(+)
and a1.名称=a3.名称(+)
..... and a1.名称=aN.名称(+)
这个sql 最好建一个procedure 动态生成出来!!!
oracle 中通过
 
sorry 第一个sql 错了
select 学号,max(count(名称)) from 表 group by 学号
 
请问a1,a2是什么。我用adoquery查的.max(count(名称))是什么
 
我写的不是很好,有一大堆重复数据!
不要用这个了,select max(count(学号)) 学号个数 from 表 group by 名称
判断有多少个!
 
谢谢各位,但是有没有更好的方法
 
请问有没有办法让一个登陆窗口先出现,输入登陆信息后点击确定后,工程窗体(main form)才
出现.我用 Form1=new TForm1(NULL);
Form1->Show();
两个窗体同时出现了,怎样只让登陆窗口先出现,然后主窗体才出现.我用showmodal只有登陆
窗口出现,而主窗体不出现
 
project 中创建两个窗口,登陆的
application.createform(Tloginform,loginform)
loginform.show
application.createform(TForm1.form1)
不show
等loginform.close 的时候show 可以吗?
 
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
form2.ShowModal;
Application.Run;
登陆完毕之后再出现主窗口form1 不可以吗?
 
这样可以实现一个窗体出现之后再出现主窗体,但是程序无法终止了.如果加上Close()就会
出现stack overflow错误,应该怎样终止程序运行.关掉窗口也不行
 

Similar threads

回复
0
查看
978
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部