数据库查询(100分)

  • 主题发起人 主题发起人 枫晚亭
  • 开始时间 开始时间

枫晚亭

Unregistered / Unconfirmed
GUEST, unregistred user!
我是一个新手,对delphi有许多地方不明白。还请各位专家多多指点!谢谢!
我的问题是:
我建了两个数据库1、基本信息表.db,字段有编号、姓名、年龄等;2、成绩表.df.字段有编号、姓名、数学成绩等等。
现在新建一个表单form1,加上dbedit1和dbedit2和别的一些控件。想要完成的功能的,在dbedit1中输入编号后,它能够验证一下,如果在基本信息表中相同的编号的记录,那么在dbedit2中显示这个编号所对应的姓名。最后dbedit1和dbedit2的内容可以存放在成绩表。df相对应的字段中;如果基本信息表没有这条记录,弹出出错提示。
请问程序如何编写????
我的e-mail是yhssm@99o.net谢谢!!!
 
请"新手"注意换行 :)
我的项目中也正好用到此类"反查功能"
不知你是否是使用dcom三层,不过也差不多.
即在你的dataModual先作一个过程,此过程向数据库发sql
反回的数据放在dataset中,此过程的入口为:dbedit1对应的
字段名,dbedit2对应的字段名.将其拼为一个sql语句.
即:select dbedit2对应的字段名 from form1 where dbedit1对应的字段名=dbedit1.text;
先试试,有问题再说!
 
在DBEdit1的Change事件进行一些检测和查询处理,
 
在dbedit1的離開事件中加判斷
 
不能在Change事件加,会乱的.
 
枫晚亭的数据库好象不是C/S,如果是,在数据库系统中定义了表间关系后,便可以方便
地操作了,如果不是C/S,那么把两个表相关的字段建立索引,在FORM中把DBEDIT1
改成EDIT,增加一个BUTTON,在BUTTON的ONCLICK事件中加入代码:
if 基本信息.FindKey([Edit1.Text]) then
成绩表.FindKey([Edit1.text])
else
Application.MessageBox(Pchar('没有相应数据'),Pchar('错误'),0);

请指正!
 
多人接受答案了。
 
后退
顶部