让我疯狂的数据导出 问题

mikezzzzzz 2009-08-05 04:50:11

if (FileExists(GetCurrentDir() + "\\DATAUPLOAD\\" + "TD" + Edit1->Text +".TXT")) DeleteFile(GetCurrentDir() + "\\DATAUPLOAD\\" + "TD" + Edit1->Text +".TXT");

AnsiString sValue = "";
AnsiString tValue = "";
TADOQuery *ADOQuery = new TADOQuery(Application);
ADOQuery->ConnectionString = pConnectString;
ADOQuery->Close();
ADOQuery->SQL->Clear();
ADOQuery->SQL->Add("Select * from tdall");
ADOQuery->SQL->Add("where ttdate = :tString");
ADOQuery->Parameters->ParamByName("tString")->Value = Edit1->Text;
ADOQuery->Open();
DataSource1->DataSet = ADOQuery;
ShowMessage(String(ADOQuery->RecordCount));

CGauge1->MaxValue = ADOQuery->RecordCount; CGauge1->Progress = 0; Application->ProcessMessages();
Memo2->Lines->Add("资料导出中。。。");

for(int iCount=0 ;iCount < ADOQuery->RecordCount ;iCount++)
{
//ADOTarget->Append();
for(int jCount=0 ;jCount<ADOQuery->FieldCount ;jCount++)
{
CGauge1->Progress = ADOQuery->RecNo; Application->ProcessMessages();
switch(jCount<ADOQuery->FieldCount)
{
case 1 : //datatype="ftString"
sValue = ADOQuery->FieldByName(ADOQuery->Fields->Fields[jCount]->FieldName)->AsString ;
break;
case 2 : //datatype="ftSmallint"
sValue = ADOQuery->FieldByName(ADOQuery->Fields->Fields[jCount]->FieldName)->AsInteger ;
break;
case 3 : //datatype="ftInteger"
sValue = ADOQuery->FieldByName(ADOQuery->Fields->Fields[jCount]->FieldName)->AsInteger ;
break;
case 5 : //datatype="ftBoolean"
sValue = ADOQuery->FieldByName(ADOQuery->Fields->Fields[jCount]->FieldName)->AsInteger;
break;
case 6 : //datatype="ftFloat"
sValue = ADOQuery->FieldByName(ADOQuery->Fields->Fields[jCount]->FieldName)->AsFloat;
break;
}
tValue = tValue + "[" + sValue + "]";
sValue = "";
}
ADOQuery->Next();
WriteTxt(tValue);
tValue = "";
}


TStringList *StringList = new TStringList();
if(DirectoryExists(GetCurrentDir() + "\\DATAUPLOAD") == false)
CreateDir(GetCurrentDir() + "\\DATAUPLOAD");

AnsiString Statment;
AnsiString tString;
AnsiString Logname = GetCurrentDir() + "\\DATAUPLOAD\\" + "TD" + Edit1->Text +".TXT";
try
{
if (FileExists(Logname) == false) StringList->SaveToFile(Logname);
StringList->LoadFromFile(Logname);
Statment = tString;
StringList->Add(Statment);
StringList->SaveToFile(Logname);
}
catch(...) {}
delete StringList;

AnsiString SFile ,TFile;


NMFTP1->Host = FTPSERVER; //指定主机名称
NMFTP1->Port = StrToInt(FTPPORT); //指定连接埠
NMFTP1->UserID = FTPID; //连线的使用者帐号
NMFTP1->Password = FTPIP; //连线的密码
NMFTP1->Connect();
try{NMFTP1->MakeDirectory("DataLoad");}catch(...){}
NMFTP1->ChangeDir("DataLoad");
SFile = GetCurrentDir() + "\\DATAUPLOAD\\" + "TD" + Edit1->Text +".TXT";
TFile = "TD" + Edit1->Text +".TXT";
NMFTP1->Upload(SFile, TFile);
// SFile = Posconf.ProgramPath + "CpyData\\" + Posconf.TxdataPath + "\\TR" + MaskEdit1->Text + ".db";
// TFile = "TR" + MaskEdit1->Text + ".db";
// NMFTP1->Upload(SFile, TFile);
NMFTP1->Disconnect();


================================================================================
if (FileExists(GetCurrentDir() + "\\DATA\\" + "TR" + Edit1->Text +".TXT")) DeleteFile(GetCurrentDir() + "\\DATA\\" + "TR" + Edit1->Text +".TXT");

AnsiString sValue = "";
AnsiString tValue = "";
TADOQuery *ADOQuery = new TADOQuery(Application);
ADOQuery->ConnectionString = pConnectString;
ADOQuery->Close();
ADOQuery->SQL->Clear();
ADOQuery->SQL->Add("Select * from trall");
ADOQuery->SQL->Add("where ttdate = :tString");
ADOQuery->Parameters->ParamByName("tString")->Value = Edit1->Text;
ADOQuery->Open();
DataSource1->DataSet = ADOQuery;
ShowMessage(String(ADOQuery->RecordCount));

CGauge1->MaxValue = ADOQuery->RecordCount; CGauge1->Progress = 0; Application->ProcessMessages();
Memo2->Lines->Add("资料导出中。。。");

for(int iCount=0 ;iCount < ADOQuery->RecordCount ;iCount++)
{
//ADOTarget->Append();
for(int jCount=0 ;jCount<ADOQuery->FieldCount ;jCount++)
{
CGauge1->Progress = ADOQuery->RecNo; Application->ProcessMessages();
switch(jCount<ADOQuery->FieldCount)
{
case 1 : //datatype="ftString"
sValue = ADOQuery->FieldByName(ADOQuery->Fields->Fields[jCount]->FieldName)->AsString ;
break;
case 2 : //datatype="ftSmallint"
sValue = ADOQuery->FieldByName(ADOQuery->Fields->Fields[jCount]->FieldName)->AsInteger ;
break;
case 3 : //datatype="ftInteger"
sValue = ADOQuery->FieldByName(ADOQuery->Fields->Fields[jCount]->FieldName)->AsInteger ;
break;
case 5 : //datatype="ftBoolean"
sValue = ADOQuery->FieldByName(ADOQuery->Fields->Fields[jCount]->FieldName)->AsInteger;
break;
case 6 : //datatype="ftFloat"
sValue = ADOQuery->FieldByName(ADOQuery->Fields->Fields[jCount]->FieldName)->AsFloat;
break;
}
tValue = tValue + "[" + sValue + "]";
sValue = "";
}
ADOQuery->Next();
WriteTxt(tValue);
tValue = "";
}


TStringList *StringList = new TStringList();
if(DirectoryExists(GetCurrentDir() + "\\DATA") == false)
CreateDir(GetCurrentDir() + "\\DATA");

AnsiString Statment;
AnsiString tString;
AnsiString Logname = GetCurrentDir() + "\\DATA\\" + "TR" + Edit1->Text +".TXT";
try
{
if (FileExists(Logname) == false) StringList->SaveToFile(Logname);
StringList->LoadFromFile(Logname);
Statment = tString;
StringList->Add(Statment);
StringList->SaveToFile(Logname);
}
catch(...) {}
delete StringList;

AnsiString SFile ,TFile;


NMFTP1->Host = FTPSERVER; //指定主机名称
NMFTP1->Port = StrToInt(FTPPORT); //指定连接埠
NMFTP1->UserID = FTPID; //连线的使用者帐号
NMFTP1->Password = FTPIP; //连线的密码
NMFTP1->Connect();
try{NMFTP1->MakeDirectory("DATA");}catch(...){}
NMFTP1->ChangeDir("DATA");
SFile = GetCurrentDir() + "\\DATA\\" + "TR" + Edit1->Text +".TXT";
TFile = "TR" + Edit1->Text +".TXT";
NMFTP1->Upload(SFile, TFile);
// SFile = Posconf.ProgramPath + "CpyData\\" + Posconf.TxdataPath + "\\TR" + MaskEdit1->Text + ".db";
// TFile = "TR" + MaskEdit1->Text + ".db";
// NMFTP1->Upload(SFile, TFile);
NMFTP1->Disconnect();
=========================================================================
为什么上一个可以实现出数据抓出,可是后一个却抓出的是空数据,郁闷啊。。。各位大牛救命啊
一定给分。。。谢谢了
...全文
90 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
enlang 2009-08-07
  • 打赏
  • 举报
回复
哇,这么复杂!

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧