设为首页 加入收藏

TOP

VC++ 操作数据库数据保存为TXT(图解)
2014-11-23 19:05:45 来源: 作者: 【 】 浏览:13
Tags:操作 数据库数据 保存 TXT 图解

测试数据已存在数据库中,通过界面可以显示在客户端,客户端想要通过save data 按钮把数据保存在指定位置,存储格式为txt

界面:

\

点击保存数据按钮后

\


保存的数据格式

\

程序代码为:


[cpp] CFileDialog *filedlg;
CString sPath;
filedlg=new CFileDialog(TRUE,"txt");
if (filedlg->DoModal()==IDOK)
{

sPath=filedlg->GetPathName();
}
delete (filedlg);

//strFile+=".txt";
CFile file(sPath,CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite);//CFile::modeNoTruncate不删除原有数据
if(file.GetLength()!=0)//判断是否文件为空,非空的话不需要换行
{
file.SeekToEnd();
file.Write("\n",strlen("\n"));//换行
}

//file.Write("11",2);
CString srn="\r\n";
ADOConn m_ado;
int i=0;
m_ado.OnnitADOConn();
CString sql="select * from Data order by Frec asc " ;
_RecordsetPtr m_precord;
m_precord=m_ado.GetRecordSet(_bstr_t(sql));
while (m_ado.m_pRecordSet->adoEOF==0)
{

CString s;
s.Format("%4d ",i++);
//MessageBox(s);
file.Write(s,s.GetLength());


s=(char*)(_bstr_t)m_precord->GetCollect("Frec");
file.Write(s,s.GetLength());

s=" "; file.Write(s,s.GetLength());

s=(char*)(_bstr_t)m_precord->GetCollect("Result");
file.Write(s,s.GetLength());

file.Write(srn,srn.GetLength());//换行
m_precord->MoveNext();
}
m_ado.ExitConnect();


file.Close();
MessageBox("数据保存成功");
GetDlgItem(IDC_BUTTON18)->EnableWindow(FALSE);
Sleep(1000);
GetDlgItem(IDC_BUTTON18)->EnableWindow(TRUE);
}

CFileDialog *filedlg;
CString sPath;
filedlg=new CFileDialog(TRUE,"txt");
if (filedlg->DoModal()==IDOK)
{

sPath=filedlg->GetPathName();
}
delete (filedlg);

//strFile+=".txt";
CFile file(sPath,CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite);//CFile::modeNoTruncate不删除原有数据
if(file.GetLength()!=0)//判断是否文件为空,非空的话不需要换行
{
file.SeekToEnd();
file.Write("\n",strlen("\n"));//换行
}

//file.Write("11",2);
CString srn="\r\n";
ADOConn m_ado;
int i=0;
m_ado.OnnitADOConn();
CString sql="select * from Data order by Frec asc " ;
_RecordsetPtr m_precord;
m_precord=m_ado.GetRecordSet(_bstr_t(sql));
while (m_ado.m_pRecordSet->adoEOF==0)
{

CString s;
s.Format("%4d ",i++);
//MessageBox(s);
file.Write(s,s.GetLength());


s=(char*)(_bstr_t)m_precord->GetCollect("Frec");
file.Write(s,s.GetLength());

s=" "; file.Write(s,s.GetLength());

s=(char*)(_bstr_t)m_precord->GetCollect("Result");
file.Write(s,s.GetLength());

file.Write(srn,srn.GetLength());//换行
m_precord->MoveNext();
}
m_ado.ExitConnect();


file.Close();
MessageBox("数据保存成功");
GetDlgItem(IDC_BUTTON18)->EnableWindow(FALSE);
Sleep(1000);
GetDlgItem(IDC_BUTTON18)->EnableWindow(TRUE);
}

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇vc 两种方法实现生成全局唯一标识.. 下一篇 VC驿站VIP基础教程

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: