我在VB6.0中写一个SQL语句,数据库是ORACLE,比如说:select * from aa 把这个查询结果 显示在VB中的DATAGRID中
然后,有一个另存为,可以把显示在DATAGRID中的aa表中的数据,存为EXCEL或者文本文件(逗号分割或者TAB分割)(包括这个表的字段名也要保存起来)问怎么做啊,有没有什么例子,我是一点头绪都没有啊!求救,求救,高手帮忙啊

解决方案 »

  1.   

    引用DAO
    Dim db As DatabaseSet db = Workspaces(0).OpenDatabase(App.Path & "\alifriend.mdb")db.Execute "SELECT * INTO [Excel 8.0;DATABASE=C:\alifriend.XLS].[alifriend] FROM [数据]"
      

  2.   

    先用ADO连接然后 帮点一下属性
    DATAGRID1.DataSource
    DATAGRID1.DataField
      

  3.   

    Function SelectSQL(SQL As String, RS As Integer) As Integer
        On Error Resume Next    Dim ErrorCnter As Integer                       'エラーカウンター    SelectSQL = R_OK                                'リターンコード(OK)    For ErrorCnter = 1 To 5                         'エラーカウンター5まで
            Select Case RS
                Case 1
                  Set RS1 = gdbElectWireDB.Execute(SQL)
                Case 2
                  Set RS2 = gdbElectWireDB.Execute(SQL)
                Case 3
                  Set RS3 = gdbElectWireDB.Execute(SQL)
            End Select
            If Err.Number <> 0 Then                              'エラーチェック
                If ErrorCnter = 5 Then                   'エラーカウント5のとき
                    SelectSQL = R_Err                       'エラーコードセット
                End If
            Else                                        'エラーなしのとき
                Exit For                                 'ループぬける
            End If
        Next
    End Function
    'gdbElectWireDB  为ADODB.Connection
    DIM rs as Recordset
    DATAGRID1.DataSource  = rs
      

  4.   

    是文件出力吗  把那个文件出力的选项加上
    有文件打开 写入 的东西 最后取出数据做成Excel表
    MiscroSoft running scripttime 看看是不是这个 记不住了
      

  5.   

    谢谢,但是数据量比较大,不能用EXCEL!select * from aa 这个语句查询出的结果显示在DATAGRID上后,然后界面有个另存为的按钮,我点击按钮后,会把这个结果集存在文本上.并且用TAB或者逗号分割!
      

  6.   

    谢谢,但是数据量比较大,不能用EXCEL!select * from aa 这个语句查询出的结果显示在DATAGRID上后,然后界面有个另存为的按钮,我点击按钮后,会把这个结果集存在文本上.并且用TAB或者逗号分割!
      

  7.   

    谢谢,但是数据量比较大,不能用EXCEL!select * from aa 这个语句查询出的结果显示在DATAGRID上后,然后界面有个另存为的按钮,我点击按钮后,会把这个结果集存在文本上.并且用TAB或者逗号分割!
      

  8.   

    谢谢,但是数据量比较大,不能用EXCEL!select * from aa 这个语句查询出的结果显示在DATAGRID上后,然后界面有个另存为的按钮,我点击按钮后,会把这个结果集存在文本上.并且用TAB或者逗号分割!
      

  9.   

    谢谢,但是现在数据量太大,不能用EXCEL保存,要用文本!也就是说我把select * from aa 这个结果集显示在DATAGRID中,然后点击界面上的"另存为"就可以把这个结果集存放在文本中.文本里的字段是以逗号或者TAB来进行分割的符的,也就是说,分割符是TAB或者逗号
      

  10.   

    谢谢,但是现在数据量太大,不能用EXCEL保存,要用文本!也就是说我把select * from aa 这个结果集显示在DATAGRID中,然后点击界面上的"另存为"就可以把这个结果集存放在文本中.文本里的字段是以逗号或者TAB来进行分割的符的,也就是说,分割符是TAB或者逗号!
      

  11.   

    这个应该不难吧,你把查询结果写文本不就行了吗
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset'打开SQL数据库
    Public Sub getConnection(ByVal strRunServer As String, ByVal strCatalog As String, _
                                    Optional strUserID As String = "sa", Optional strPwd As String = "")
    On Error GoTo err11
        
        If cn.State = adStateOpen Then
           cn.Close
        End If
        
        
        If strRunServer <> "" Then
            cn.ConnectionString = "Provider=SQLOLEDB;Data Source=" & strRunServer & ";" & _
                    "Initial Catalog=" & strCatalog & ";User Id=" & strUserID & ";Password=" & strPwd
            cn.CursorLocation = adUseClient
            cn.Open
        End If
        Exit Sub
    err11:
      'Stop
    End Sub
    '打开Access数据库
    Public Function OpenCnn()
    On Error GoTo err_line
      
      File_NameS = App.path + "\data\" + DataNames
      If Dir$(File_NameS) = "" Then
         MsgBox "系统文件夹:" + App.path + "\data 中 数据库文件(" + DataNames + ")不存在!", vbCritical + vbOKOnly, "数据库访问失败"
         End
      End If
      If cn.State <> adStateOpen Then
        cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + File_NameS + ";Persist Security Info=Fals"
        cn.Open
      End If
      Exit Function
    err_line:
     MsgBox "数据库访问错误!" + Err.Description, vbCritical, "Error"
    End Function
    '导出文本
    Private Function Txt_Input()
       Dim mrfilenum As Integer
       Dim str As String
      
    On Error GoTo errOut   str = "SELECT * FROM sblbdm"
        Set rs = New ADODB.Recordset
        rs.Open sql, cn, adOpenDynamic, adLockOptimistic     mrfilenum = FreeFile
         lik = FilePath + "SBLBDM.txt"
       
         
        Open lik For Output As mrfilenum
       Do While (Not rs.EOF)
           '以2个空格分隔
           Print #mrfilenum, rs.Fields(0).Value, space(2) + rs.Fields(1).Value
           '以“,”分隔
           Print #mrfilenum, rs.Fields(0).Value, "," + rs.Fields(1).Value       rs.MoveNext
        Loop
        Close #mrfilenum
        rs.Close
        db.Close
    errOut:
        
    End Function