VC++ 操作数据库数据保存为TXT(图解)

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

界面:


点击保存数据按钮后

VC++ 操作数据库数据保存为TXT(图解)_第1张图片

保存的数据格式



程序代码为:

		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);
	}


你可能感兴趣的:(C++,数据库,mfc,Visual,Visual,Studio)