我的程序是每读入一条数据就存入数据库,如果数据库中有当前的数据,就不执行插入操作,而读入下一条数据,如此循环~!
相关存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="";
}
相关存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="";
}
sysindexkeys--记录主键
sysindexes--索引
sysobjects--在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行
sql+=x+"','"+y+"','"+z+"','"+a+"','"+b+"','"+c+"')";
这里应该加入:DataModule5->ADOQuery1->Close();
DataModule5->ADOQuery1->SQL->Clear();
DataModule5->ADOQuery1->SQL->Add(sql);
DataModule5->ADOQuery1->ExecSQL();还有就是j应该给初始值吧!
在者就是检查一下逻辑结构。