当前位置:编程学习 > VC++ >>

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

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

界面:

 

\

点击保存数据按钮后

 

\


保存的数据格式

 \
 

 

 

程序代码为:


[cpp]  <SPAN style="FONT-SIZE: 14px">      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); 
    }</SPAN> 

  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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,