同意,用sql语句来添加记录。编辑时,设置其属性就行了

解决方案 »

  1.   

    用TTable的话有什么办法吗?
    我将DBEdit设为只读,再在编辑按钮的点击事件中将只读取消,但是没有作用。
      

  2.   

    那你的Table是不是只读的呢??
      

  3.   

    试试这个函数:IsNew:新增记录;aCaption:新建对话框的caption
    function ShowRecordForm(IsNew: Boolean; const aCaption: string): Boolean;
    begin
      with TFormNew.Create(Application) do
      try
        Caption := aCaption;
        with Form_DM.Table1 do
        begin
          if IsNew then
            Insert
          else
            Edit;
        end;
        DBEdit1.ReadOnly := not IsNew;
        Result := (ShowModal = mrOk);
      finally
        Free;
      end;
    end;
      

  4.   

    Table不是,我只把两个DBEdit 设成只读
      

  5.   

    还是换成TQuery吧,简单好多,方便好多!!!
      

  6.   

    这个问题应该不是很难的,我刚刚才写了这种东西,你可以将DB类的那一个控件设置为只读获读写:
    判断这样写:
    if Table1.State=dsInsert then 
    else
    这样只有在新增时可写,编辑时不可写。
      

  7.   

    刺月的方法很好,很方便!谢谢!
    不过state属性你是怎么知道的,我怎么查不到?
      

  8.   

    看见这个词也应该知道是什么意思嘛。再在State上按F1,看看它有那些取值就行了。