使用TTABLE控件连接数据库
用append 命令象数据库增加记录,可是老是在数据库的开始增加一条空白记录请教是何原有

解决方案 »

  1.   

    append本来就是这样,下面是append的帮助1 Open a new, empty record at the end of the dataset.
    2 Set the active record to the new record.
      

  2.   

    可是老是在数据库的开始增加一条空白记录?????没试过这种情况, append都只增加一条记录. 把代码内贴出来看看
      

  3.   

    append之后要编辑;保存;
    如果你的数据表中每个字段都允许空,就faint了;
    估计是你做了post了,
    按照一个字段排序,将空派在最前面了
      

  4.   

    begin
       newrecord:=true;
       SpeedButton_xq.enabled:=false;
       SpeedButton_xh.enabled:=false;
       SpeedButton_zq.enabled:=false;
       SpeedButton_zh.enabled:=false;
       SpeedButton_zj.enabled:=false;
       SpeedButton_kc.enabled:=false;
       SpeedButton_xg.enabled:=false;
       SpeedButton_sc.enabled:=false;
       BitBtn_sub.visible:=true;
       BitBtn_exit.visible:=true;
       BitBtn_back.visible:=false;   if not ud.Table_HTDA2.IsEmpty then
       begin     
         ud.table_htda2.Last;
         ud.table_htda2.Append;
         set_notreadonly;
         DBEdit_htbh.text:='2000000001';
         DBEdit_qdrq.text:=DateToStr(now);
         ud.Table_HTDA2.Post;
         DBEdit_htbh.SetFocus;     
       end
       else
         begin
           ud.table_htda2.Append;
           set_notreadonly;
           DBEdit_htbh.text:='2000000001';
           
         end;
    end;以上是我的代码
    ,请大家帮忙
      

  5.   

    if not ud.Table_HTDA2.IsEmpty then // 这是什么意思?
    else部分的Append没有Post或Cancel对应, 有可能Append了两次.
      

  6.   

    Wnyu(西门吹水) 
    else部分的Append没有Post或Cancel对应, 有可能Append了两次.append两次倒是问题不大,不过最后一次append可能没有post,会丢失。
    另外你append的数据为什么要通过dbedit来更新呢,感觉不好。还有你的append空数据在最开始,应该是你的表有索引。排序后去了前面
      

  7.   

    逻辑出错,Append了两次,这样做:
    begin
       newrecord:=true;
       SpeedButton_xq.enabled:=false;
       SpeedButton_xh.enabled:=false;
       SpeedButton_zq.enabled:=false;
       SpeedButton_zh.enabled:=false;
       SpeedButton_zj.enabled:=false;
       SpeedButton_kc.enabled:=false;
       SpeedButton_xg.enabled:=false;
       SpeedButton_sc.enabled:=false;
       BitBtn_sub.visible:=true;
       BitBtn_exit.visible:=true;
       BitBtn_back.visible:=false;   if ud.Table_HTDA2.IsEmpty then  //删除原代码的Not,如果是空,才正确
       begin     
         ud.table_htda2.Last;
         ud.table_htda2.Append;
         set_notreadonly;
         DBEdit_htbh.text:='2000000001';
         DBEdit_qdrq.text:=DateToStr(now);
         ud.Table_HTDA2.Post;
         DBEdit_htbh.SetFocus;     
       end
       else
         begin
           ud.table_htda2.Append;
           set_notreadonly;
           DBEdit_htbh.text:='2000000001';
           
         end;
    end;
      

  8.   

    兄弟
    把set_notreadonly放到ud.table_htda2.Append的前面去吧!!!