版主老大在么,能帮忙看个问题么?(以前好像版主参与过,关于大文件的数据库存储的)
jmylf 2003-03-15 04:02:07 写入
Session->AddPassword("lf/9210");
if(!OpenDialog1->Execute())
return;
TMemoryStream *tmpStream = new TMemoryStream();
tmpStream->LoadFromFile(OpenDialog1->FileName);
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("INSERT INTO a.db (filename,filec,filedate) VALUES(:filename,:filec,:filedate)");
Query1->DatabaseName=ExtractFilePath(Application->ExeName).c_str();
Query1->ParamByName("filename")->AsString = ExtractFileName(OpenDialog1->FileName);
Query1->ParamByName("filedate")->AsString = savetime;
//ShowMessage(ExtractFileName(OpenDialog1->FileName));
Query1->ParamByName("filec")->LoadFromStream(tmpStream,ftBlob);
Query1->ExecSQL();
delete tmpStream;
希望最后一次性写出所存储的所有文件
Session->AddPassword("lf/9210");
TMemoryStream *memStream = new TMemoryStream;
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("select filec ,filename from a.db");
Query1->Open();
//Query1->First();
TBlobField *tmpField = (TBlobField *)Query1->Fields->Fields[0];
while(!Query1->Eof)
{
tmpField->SaveToStream(memStream);
memStream->SaveToFile(Query1->Fields->Fields[1]->Value);
Query1->Next();
}
delete memStream;
}
总是后面的文件包括前面文件内容,不知道那里错了啊?