起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: tdwoo

【结贴】求助 "0.0" is not a vaild timestamp

[复制链接]
发表于 2010-3-15 13:43:35 | 显示全部楼层
看不出来
把这个函数的完整代码贴出来看看
回复 支持 反对

使用道具 举报

发表于 2010-3-16 09:07:21 | 显示全部楼层
这不是我的程序,是你们oa系统带的
原来没有的,后来不知你们修改了什么,就出来

详细看这个
http://bbs.justep.com/forum.php?mod=viewthread&tid=31768
回复 支持 反对

使用道具 举报

发表于 2010-3-16 09:18:25 | 显示全部楼层
尚工,看这儿:
static procedure TDOCRELEVANCYINFO2.FillRelevancyDataSet(ADataSet: TDataSet;
  const AFileName: string);
var
  I: Integer;
  lQuery: TQuery;
  lSQLFilter: string;
  lCloneDataSet: TCloneDataSet;
  lOldReadonly: Boolean;
begin
  if ADataSet.RecordCount = 0 then
   Exit;

  lSQLFilter := '';

  ADataSet.DisableControls;
  ADataSet.LogChanges := False;
  lOldReadonly := ADataSet.Readonly;

  lQuery := TQuery.Create(nil);
  lCloneDataSet := TCloneDataSet.Create(nil);
  try
    ADataSet.Readonly := False;
    if AFileName <> '' then
    begin
     lCloneDataSet.CloneCursor(ADataSet, False, False, False);
     if not lCloneDataSet.Locate('FDOCGUID', FileSys.FileUtils.GetFileNameNoExt(AFileName), []) then
       Exit;
     lSQLFilter := SysUtils.Format('''%s''', [FileSys.FileUtils.GetFileNameNoExt(AFileName)])
    end
    else
    begin
      lCloneDataSet.CloneCursor(ADataSet, True, False, False);

      lCloneDataSet.First;
      while not lCloneDataSet.Eof do
      begin
        if lSQLFilter = '' then
          lSQLFilter := SysUtils.Format('''%s''', [lCloneDataSet.FieldByName('FDOCGUID').AsString])
        else
          lSQLFilter := SysUtils.Format('%s, ''%s''', [lSQLFilter, lCloneDataSet.FieldByName('FDOCGUID').AsString]);

        lCloneDataSet.Next;
      end;

      lCloneDataSet.First;
    end;

    lQuery.ConnectionString := BizObjConsts.cSysDatabaseConnectionString;
    lQuery.CommandText := SysUtils.Format('SELECT * FROM TDOCSYSTEM WHERE FID IN(%s)', [lSQLFilter]);
    lQuery.Open;

    while not lCloneDataSet.Eof do
    begin
      lQuery.First;
      if lQuery.Locate('FID', lCloneDataSet.FieldByName('FDOCGUID').AsString, []) then
      begin
        lCloneDataSet.Edit;

        for I := 0 to lCloneDataSet.Fields.Count - 1 do
          if (not SysUtils.SameText(lCloneDataSet.Fields[I].FieldName, 'FGUID'))
             and (lQuery.FindField(lCloneDataSet.Fields[I].FieldName) <> nil) then
           begin
             lCloneDataSet.FieldByName(lCloneDataSet.Fields[I].FieldName).Value :=
               lQuery.FieldByName(lCloneDataSet.Fields[I].FieldName).Value;
           end;

        // TS 为了兼容
        lCloneDataSet.FieldByName('FDOCURL').AsString := FileSys.cDocFilePrefix + lQuery.FieldByName('FPATH').AsString
          + lQuery.FieldByName('FID').AsString + lQuery.FieldByName('FKIND').AsString;

        if lCloneDataSet.FieldByName('FCUREDITORURL').AsString = '' then
          lCloneDataSet.FieldByName('FEDITSTATE').AsString := TDocConst.EditState_None
        else if TOrgUtils.InOperator(TSystemCore.Operator, lCloneDataSet.FieldByName('FCUREDITORURL').AsString) then
          lCloneDataSet.FieldByName('FEDITSTATE').AsString := TDocConst.EditState_OperatorEditing
        else
          lCloneDataSet.FieldByName('FEDITSTATE').AsString := TDocConst.EditState_NotOperatorEditing;

        if lCloneDataSet.FieldByName('FCUREDITORURL').AsString = '' then
        begin
          lCloneDataSet.FieldByName('FCONTENTCHANGED').AsInteger := 0;
          lCloneDataSet.FieldByName('FFILESTATE').AsInteger := FileState_None;
        end;
        lCloneDataSet.Post;
        lCloneDataSet.Next;
      end
      else if lCloneDataSet.FieldByName('FDOCURL').AsString <> '' then
      begin
        lCloneDataSet.Delete;
      end
      else
      begin
        lCloneDataSet.Edit;
        lCloneDataSet.FieldByName('FKIND').AsString := SysUtils.UpperCase(FileSys.FileUtils.GetFileExt(lCloneDataSet.FieldByName('FDOCURL').AsString));
        lCloneDataSet.Post;
        lCloneDataSet.Next;
      end;

      if AFileName <> '' then
        Break;
    end;
  finally
    lCloneDataSet.Free;
    lQuery.Free;

    ADataSet.EnableControls;

    ADataSet.LogChanges := True;
    ADataSet.Readonly := lOldReadonly;
  end;
end;
回复 支持 反对

使用道具 举报

发表于 2010-3-16 09:49:47 | 显示全部楼层
楼主,请问的问题是什么
回复 支持 反对

使用道具 举报

发表于 2010-3-16 09:53:00 | 显示全部楼层
主要是解决 1楼的 提示
调试跟踪发现了 4楼和6楼的问题,尚工,让贴整个函数。就贴了。
回复 支持 反对

使用道具 举报

发表于 2010-3-16 10:03:33 | 显示全部楼层
是这个文档:业务模型\协同系统\文档\关联\文档关联信息
请帮忙解决。
回复 支持 反对

使用道具 举报

发表于 2010-3-16 10:20:00 | 显示全部楼层
楼主,1楼提示0.0不是有效的时间格式。你看是不是给时间字段附了0.0了?
回复 支持 反对

使用道具 举报

发表于 2010-3-16 10:27:50 | 显示全部楼层
时间字段?自动填充?
回复 支持 反对

使用道具 举报

发表于 2010-3-16 10:28:58 | 显示全部楼层
研究发现  :
有 信息发布 信息管理  公文查询 收文查询 公文归档  这几个 功能 都报错,最终都是 指向 这个信息

业务模型\协同系统\文档\关联\文档关联信息
回复 支持 反对

使用道具 举报

发表于 2010-3-16 11:21:02 | 显示全部楼层
我看1楼说到取全部数据时报错,可能是数据里存的某个值给字段本身的时间类型不一致
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-10 14:02 , Processed in 0.040205 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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