起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 101|回复: 5

【结】退出关闭问题**

[复制链接]
发表于 2008-5-21 16:19:33 | 显示全部楼层 |阅读模式
[B]我在系统初始化功能上写好了读取当前操作者退出时间的代码:[/B]
static procedure TINIT.Uninit;
var
  F: TForm;
   lQuery : TQuery;
  // lOprName,lOprDept,lLogID,lOprID,MaxID,lID:string;
  // dsMySet:TSQLDataSet;
begin
    if FInitInstance <> nil then
  begin
    TSystemCore.FuncManager.TerminateAllFuncs(True);

    F := FInitInstance.MainForm;
    FInitInstance.MainForm := nil;
    if F <> nil then
      F.Free;

    Forms.Application.ProcessMessages;

     end;
    lQuery := TQuery.Create(nil);
    lQuery.ConnectionString := 'DATABASEURL=Biz:OPERATIONOPERATIONDB.DATABASE';
    lQuery.CommandText :='Select * From DLRZB Where DLRZB_ID='''+getid+'''';
    lQuery.Open;
    lQuery.Edit;
    lQuery.FieldByName('DLRZB_TCSJ').AsString :=Sysutils.DateTimeToStr(Sysutils.Now) ;
     lQuery.ApplyUpdates;
    lQuery.Free;
    BizRtSrvr.BusinessRuntimeServer.UnregisterMethod(CreateFunc);
    CreateFunc.Free;
//  CommonComponentLibrary.TCommonComponentLibrary.Uninit; {兼容性保留}

  TComponentsLib.Uninit;

  TSystemCore.Uninit;

end;



[B]DLRZB 表是自动填充的。   [/B]   
MaxID :=dsMaxSet.FieldByName['DLRZB_ID'].AsString;
    if MaxID='' then
    begin
      MaxID :='1000';
    end else
    begin
      MaxID :=SysUtils.IntToStr(SysUtils.StrToInt(MaxID)+1);
    end;

问题是在这里的退出写上代码后。在STUDIO中运行功能,窗体的退出代码(self.close)j就抱我DLRZB 表错。在平台是不抱错了。。怎么解决?

qq.jpg

16.02 KB, 下载次数: 71

回复

使用道具 举报

发表于 2008-5-21 16:24:38 | 显示全部楼层
用SQL语句插入的时候,字段的自动填充属性是不起作用的,因为是直接跟数据库交互的,所有需要在SQL中,把这个字段也赋值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-21 16:36:54 | 显示全部楼层
系统初始化功能下写么?。把他的ID字段赋值吗?
回复 支持 反对

使用道具 举报

发表于 2008-5-21 16:48:51 | 显示全部楼层
能,跟其他的字段一样赋值就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-22 14:30:04 | 显示全部楼层
在这里用传过来的ID做个判断就可以了。。结帖吧。谢谢拉。。。。
回复 支持 反对

使用道具 举报

发表于 2008-5-22 14:33:58 | 显示全部楼层
不客气,好
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 18:58 , Processed in 0.043322 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表