通过query的Append()来向数据库中添加数据。POST之前可以看到query中各个字段都已赋值
且POST前,query的状态为dsInsert,POST后,状态为dsBrowse但是查找数据库就不能找到插入的数据。运行过程未提示出错!同时做了以下测试:将某字段设定为唯一,然后在添加数据时故意添加入重复值,然后保存,也未提示出错!数据库中也无新插入的数据!(我用的是BCB)

解决方案 »

  1.   

    代码极简单就是qry = M->CstQry;
    qry->ParamByName("id")->AsInteger = 0;
    qry->Open();
    qry->Append();然后打开窗口,里面全是DB控件,添加修改数据就在里面录入!录入后,点击保存就qry->Post();qry是生成的变量。
      

  2.   

    用这种试试,看看能不能使用
    Query1.Insert;Query1.FieldByName('id1').AsString:=login.Edit1.Text;
    Query1.FieldByName('id2').AsString:=login.Edit2.Text;
    Query1.FieldByName('id3').AsString:=login.Edit3.Text;Query1.Post;
      

  3.   

    qry = M->CstQry;
    qry->ParamByName("id")->AsInteger = 0;
    qry->Open();
    qry->Append();============================
    怎么不象Delphi象PHP???有这样用类的方法吗?
      

  4.   

    楼上的,这应该是bcb的代码,bcb环境跟Delphi差不多,只是语法不同而已
      

  5.   

    看看是不是有“事务”控制,但是没有Update呢?
      

  6.   

    qry = M->CstQry;
    qry->ParamByName("id")->AsInteger = 0;   ///-->  fieldbyname('id')严重错误qry->Open();
    qry->Append();//这个应该这样用
              AdoDM.AdoQ_User.Close;
              AdoDM.AdoQ_User.SQL.Clear;
              AdoDM.AdoQ_User.SQL.Add('UPDATE student  SET zt=:zt where username=:username');
              AdoDM.AdoQ_User.Parameters.ParamByName('username').Value := rec_a[j];
              AdoDM.AdoQ_User.Parameters.ParamByName('zt').Value := rec_a[j + 1];
              AdoDM.AdoQ_User.ExecSQL;
      

  7.   

    qry = M->CstQry;
    qry->fieldbyname("id")->AsInteger = 0;   ///-->  fieldbyname('id')严重错误qry->Open();
    qry->Append();
      

  8.   

    是插入数据时有异常产生但没有Show出来。可能原因:
    1、请查看有没有异常处理;
    2、是否引用一些异常处理单元如: TApplicationEvents、RxAppEvent
    删除这些单元引用再试试。
      

  9.   

    delphi中没有见过这样的代码,呵呵,看到->像C++中的,唉;
      

  10.   

    将数据表中的字段删除了一部分后可以正常插入数据了,检查数据表,似乎有些字段有问题!可能是LocustWei(LocustWei) 说的情况!还在检查问题原因ing