我的程序是每读入一条数据就存入数据库,如果数据库中有当前的数据,就不执行插入操作,而读入下一条数据,如此循环~!
相关存SQL2000的程序如下:
DataModule5->ADOQuery1->Close();
DataModule5->ADOQuery1->SQL->Clear();
DataModule5->ADOQuery1->SQL->Add("select * from RJYSJ001");
DataModule5->ADOQuery1->Open();DataModule5->ADOQuery1->First();
while(!DataModule5->ADOQuery1->Eof)
  {
    if(DataModule5->ADOQuery1->FieldByName("当天日期")->AsString==x)
        break;
    else {DataModule5->ADOQuery1->Next();j++;}
  }
  if(j!=DataModule5->ADOQuery1->RecordCount)
   {
      x="";y="";z="";a="";b="";c="";
   }
  else
  {
    sql="insert into RJYSJ001(当天日期,发票份数,退票份数,废票份数,统计金额,电子签名) values('";
    sql+=x+"','"+y+"','"+z+"','"+a+"','"+b+"','"+c+"')";
    DataModule5->ADOQuery1->SQL->Clear();
    DataModule5->ADOQuery1->SQL->Add(sql);
    DataModule5->ADOQuery1->ExecSQL();    DataModule5->ADOQuery1->Close();
    DataModule5->ADOQuery1->SQL->Clear();
    DataModule5->ADOQuery1->SQL->Add("select * from RJYSJ001");
    DataModule5->ADOQuery1->Open();
    x="";y="";z="";a="";b="";c="";
   }

解决方案 »

  1.   

    Add("select * from RJYSJ001"),先排一下序吧
      

  2.   

    单步调试停在了WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)这一行。
      

  3.   

    syscolumns --记录列的表
    sysindexkeys--记录主键
    sysindexes--索引
    sysobjects--在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行
      

  4.   

    看不懂楼上说的什么意思???偶是个初学C++ Builder的人,请多指教!谢谢!
      

  5.   

    这个cb程序还是建议楼主使用逐步执行和设置断点的方法跟踪执行
    sql+=x+"','"+y+"','"+z+"','"+a+"','"+b+"','"+c+"')";
    这里应该加入:DataModule5->ADOQuery1->Close();
    DataModule5->ADOQuery1->SQL->Clear();
    DataModule5->ADOQuery1->SQL->Add(sql);
    DataModule5->ADOQuery1->ExecSQL();还有就是j应该给初始值吧!
    在者就是检查一下逻辑结构。
      

  6.   

    J在程序一开始给了初值,DataModule5->ADOQuery1->Close();我也加入了,但涛声依旧啊,郁闷