导出ADO记录集至文本的一段代码

博客展示了C语言相关代码,实现指定保存文件名和路径对话框,以及将数据导出到文本文件的功能。代码包含处理保存对话框的设置,对记录逐行循环并保存到文件,还处理了时间和日期格式,最后显示导出结果或错误信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'指定保存的文件名和路径对话框
Private Sub cmdBrowse_Click()
  With CommonDialog1
    .InitDir = "c:/"
    .fileName = txtFileName.Text
    .DialogTitle = "保存到文本文件"
    .Filter = "文本文件 (*.txt)|*.txt|所有文件 (*.*)|*.*"
'    .Flags = cdlOFNOverwritePrompt
    .ShowSave
  End With
  txtFileName.Text = CommonDialog1.fileName
End Sub


Private Sub DoExport(fileName As String)
   
    Dim fNum As Integer
    Dim X As Integer
    Dim Y As Integer
    Dim lCount As Long
    Dim szQuote As String        '字段所使用的引号
    Dim szDelimiter As String    '分界符
    Dim szData As String
    Dim szField As String

On Error GoTo errhandle
    szQuote = """"
    szDelimiter = "|"
    DoEvents
   
    'Open the file
    Screen.MousePointer = vbArrowHourglass
    fNum = FreeFile
    Open fileName For Output As #fNum
       
    'Loop through the records, and save line by line.
    lCount = 0

    While Not rsData.EOF
      For X = 0 To rsData.Fields.Count - 1
'        处理时间和日期格式
'          If rsData.Fields(X).Type = adDBTime Then
'            szField = Format(rsData.Fields(X).Value & "", "ttttt")
'          ElseIf rsData.Fields(X).Type = adDBTimeStamp Or rsData.Fields(X).Type = adDBDate Then
'             szField = Format(rsData.Fields(X).Value & "", "yyyymmdd")
'          Else
'            szField = rsData.Fields(X).Value & ""
'          End If
         
        szField = rsData.Fields(X).Value & ""
        szData = szData & szQuote & Replace(szField, szQuote, szQuote & szQuote) & szQuote & szDelimiter
      Next
      szData = Mid(szData, 1, Len(szData) - Len(szDelimiter))
      Print #fNum, szData
      lCount = lCount + 1
      lblCount = lCount
      Me.Refresh
      DoEvents
      szData = ""
      rsData.MoveNext
    Wend
    rsData.MoveFirst
  
  'Close the file
'  Set rsData = Nothing
    Close #fNum
    Screen.MousePointer = vbNormal
 
  ' display results.
    MsgBox "共导出 " & lCount & " 条记录到文件 " & fileName, vbInformation, "导出"
    Exit Sub
 
errhandle:
    MsgBox "出错了:" & err.Description, vbCritical, "导出"
   
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值