delphi 开发过程中遇到的问题。

时间:2021-06-16 19:50:19

2011.10.19
1.接口:
  在接口中定义一些过程和函数,用于与一个对象交互。(接口的定义,接口的使用)

2.ParamByName和FieldBYname之间的区别
   ParamByName is primarily used to set a parameter value at runtime.对sql语句中的where中的参数赋值,传递查询条件。(其中数据集的属性:Params中的参数(这个参数来自中间层的数据集例如:  and register.kzh_no like :kzh_no)必须进行赋值)
   调用FieldBYname检索字段名的字段信息。表字段和本地字段的赋值,

3.字段赋值的两种方法:
  (1)      cds_clinicRegister.FieldBYname('unit_name').AsString := cds_tagsql.FieldByname('单位').AsString;
  (2)CdsTemp.Close;     //CdsTemp的作用:重新到数据库里查询
      CdsTemp.CommandText :='select * from sb_main_equipment where equip_id='''+FieldByName('equip_id').AsString+'''';
      CdsTemp.Open;
      cds_clinicRegister.FieldByName('kzh_no').AsString:=CdsTemp.FieldByName('kzh_no').AsString;

4.关于录入控件的参数

  录入控件对应的tagsql有没有需要额外的参数,如果有,就要在录入控件的Params中添加,并必须赋值。

5.两种保存的不同:post和ApplyUpdates(0)
  post是保存到数据集,
  ApplyUpdates(0)保存到数据库表,如果ApplyUpdates(0)为0就保存成功。

2011.10.21
 1.点击clientDataSet的actiove时弹出:ADQ_dict:Missing SQL property
    解决办法:* 关闭组件服务时,弹出RPC服务器不可用
              * 是不是因为录入控件的参数没有赋值?查阅其它模块,没有关系
              *对中间层重新编译一下
 2.对表结构中新增字段后,应在中间层的数据集添加这个字段,才能在客户端显示

2011.10.25
 1.本地数据集与连接数据集对录入控件有什么不同吗?
   本地的数据集的字段要初始化吗?
 2.出现OLE DB 多步操作出错时,点击Fentch params.

3.begin_date不能改变值,是因为本地数据集的begin_date属性定义错误。(关键是没有对数据集进行close,open)

2011.10.26
  1.对数据的某字段不进行存储时,在中间层字段的属性pflnUpdate,pflnWhere设为false 

  2.打开窗体时,让DBDateTimeEditEh1默认为当前时间

临床使用管理记录表总结
   1.根据设备信息管理所提供的需求表格,决定主界面要显示的信息,这些信息与哪些数据库表相关,在中间层写sql语句,及清楚的哪些字段是只供查询的,哪些字段是要存储的(通过在中间层设置字段的属性,上面介绍)。
  2.建立客户端数据集,并根据是否使用录入控件增加lookup字段,(会用DBexpert XP或称为chis_tools根据涉及的表查找相关的tagsql)。(为什么要用录入控件,通过两个表的共同字段,查询显示信息)对于录入控件明白keyfield的含义:就是两个表的关联字段。
  3.作查询时,数据集的参数应该进行赋初值。对于录入控件根据一个字段显示多条记录并用另一个窗体表示出来。
  4.保存时,怎么对字段赋值是关键。
  5.查找时,另建一个数据集,根据按什么字段查找,重新写sql语句。并把结果放在结果集里。
 

关键:数据流,从哪来到哪去。

备注:DBGridEH头让字段名显示为汉语,是每个字段的属性中的title里有caption改成相应名字即可。


表的来源,1.字段的来源,2.中间需要做什么(业务的流程,例如查询,查询的条件是来自哪里或是输入,从哪个表查询,查询的结果如何显示,结果的详细如何显示。)

检验你的总结是否有效????  新拿到相似的任务时,根据你的总结是否能够完成?。


2011.11.02

 1.如果两个录入控件使用同一个lookup字段,一个录入控件选择后,另一个录入控件也跟着一样变化。所以当两个录入控件选择同一个相似内容时要用不同的lookup字段。
    同时用同一个keyfield字段做两个lookup字段,录入控件仍然是相互联系的。查看字段是否要保存,要是不保存就用临时字段。
 2.当要把录入控件查出的信息赋值给editDB时,要对字段赋值,将lookup的字段的值赋给editDB所连接的字段。

2011.11.16
  1.新建窗体要在主窗体的列表中显示,要在系统维护下的用户管理加权限才行。应该把新创建的窗体在project--》options-->forms中加到选择才启动中。
  2.将一个工程的窗体复制到另一个工程:将客户端的代码文件夹直接复制过去,再修改中间层(注意中间层是否有要在客户端使用的Method())。注意:要通过add file to project把该窗体的.pas文件加入到工程中,在pas上点击右键view as form 就可以了。
  3.客户端要用中间层的method()时,要在中间层view--》type library中相应的窗体中定义这个method(),注意参数的定义。
  4.找不到一个窗体的.dcu文件?主要是窗体在合的过程中,出现了问题。还没有合过代码,所以具体不知道是什么问题。