我刚学delphi,菜的很。做了个东西要往数据库里插入一条记录,没有任何提示错误
,却插不进去。下面是代码大虾们帮我看看啊!
代码:procedure TForm2.Button1Click(Sender: TObject);
var
  DutyDate,ClassName :String;
begin
  DutyDate := Trim(cxDBDateEdit1.Text);
  ClassName := Trim(cxDBComboBox1.Text);
  If DutyDate='' Then
  Begin
    Showmessage('请填写当班日期!');
    Exit;
  End;
  If ClassName ='' Then
  Begin
    Showmessage('请选择所在班组!');
    Exit;
  End;
 With ADOQuery2 Do
 Begin
   ADOQuery2.Edit;
   ADOQuery2.Post;
   Close;
 End;
 End;

解决方案 »

  1.   

    插入不是ADOQuery2.Edit;是ADOQuery2.Insert;吧
      

  2.   

    ADOQuery2.sql.clear;
    ADOQuery2.sql.add('insert into 表 (date,classname)');
    ADOQuery2.sql.add('values(:dutydate,:classname)');
    ADOQuery2.execSQL;
      

  3.   

    With ADOQuery2 Do
     Begin
       ADOQuery2.Edit;
       ADOQuery2.Post;
       Close;
     End;
    你这个不行!
    str := 'insert into tablename(字段名一,字段名二) values(......)' With ADOQuery2 Do
     Begin
       close;
       sql.clear;
       sql.Add(str);
       open;
       first;
       Close;
     End;
    还可以用其它方法
      

  4.   

    上面写得不大对
    str := 'insert into tablename(字段名一,字段名二) values(......)' With ADOQuery2 Do
     Begin
       close;
       sql.clear;
       sql.Add(str);
       execSQL;
     End;
      

  5.   

    如果ADOQuery2的datasource与cxDBDateEdit1的datasource相同,可以试试这个:
    With ADOQuery2 Do
     Begin
       if State in [dsedit,dsInsert] then
          Post
        else
           showmessage('不处于插入或修改状态!');
     End;
      

  6.   

    如果ADOQuery2的datasource与cxDBDateEdit1的datasource相同,可以试试这个:
    With ADOQuery2 Do
     Begin
       if State in [dsedit,dsInsert] then
          Post
        else
           showmessage('不处于插入或修改状态!');
     End;
      

  7.   

    各位大虾,我大这个窗体是绑定的。插入的记录有好几项,只是dutydate和classname不能为空还请各位费心拉.