C#实现!论坛中没找到!!!请问有人做过类似的功能没有????给个方法参考一下谢谢

解决方案 »

  1.   

    我用Sql Loader 把.csv文件导到Oracle DB过,确实对大数据量的导入工作很实用!不清楚Sql Loader是否能把.csv文件导到Access DB中,期待LZ!
      

  2.   

    我有段vb代码,但是完全看不明白代码贴出来你们帮忙看看Public Class FOXTERNINI
        Public Declare Function GetPrivateProfileStringByKeyName Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpszKey As String, ByVal lpszDefault As String, ByVal lpszReturnBuffer As String, ByVal cchReturnBuffer As Integer, ByVal lpszFile As String) As Long
        Public Declare Function WritePrivateProfileStringByKeyName Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lplFileName As String) As Long
        Public Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer    Public Shared Function INIRead(ByVal sSection As String, ByVal sField As String, ByVal sDefault As String, ByVal sINIFile As String) As String
            Dim lRet As Long
            Dim sValue As String        'MAX=100
            sValue = Space(256)
            lRet = GetPrivateProfileStringByKeyName(sSection, sField, "", sValue, Len(sValue), sINIFile)
            If lRet > 0 Then
                sValue = Trim(sValue)
                sValue = Left(sValue, Len(sValue) - 1)
            Else
                sValue = sDefault
                lRet = WritePrivateProfileStringByKeyName(sSection, sField, sDefault, sINIFile)
            End If
            INIRead = sValue
        End Function
        Public Shared Function INIWrite(ByVal sSection As String, ByVal sField As String, ByVal sDefault As String, ByVal sINIFile As String) As Boolean
            Dim lRet As Long        lRet = WritePrivateProfileStringByKeyName(sSection, sField, sDefault, sINIFile)
            INIWrite = CBool(lRet)    End Function
    End Class
     Protected Sub btnImport_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnImport.Click
            If (ddlListType.SelectedIndex = 0) Then
                lblMsg.Text = "Please Select List Type !"
            Else
                Try
                    Dim sDBLocation As String
                    Dim nSpecialChar As Integer
                    sDBLocation = INIRead("GENERAL", "DATABASE", "C:\FoxternIVR\DIAL.MDB", "C:\FoxternIVR\config.ini")
                    nSpecialChar = sDBLocation.LastIndexOf("\")
                    sDBLocation = sDBLocation.Substring(0, nSpecialChar) + "\"
                    Dim strConnString As String = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=C:\FoxternIVR\\;Extensions=asc,csv,tab,txt;"
                    'Dim strConnString As String = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + sDBLocation + ";Extensions=asc,csv,tab,txt;"
                    Dim conn As New OdbcConnection(strConnString)
                    Dim sFile As String
                    If (ddlListType.SelectedIndex = 1) Then
                        sFile = "diallist.csv"
                    Else
                        sFile = "optlist.csv"
                    End If                Dim sSQL As String = "SELECT * from [" + sFile + "]"
                    Dim da As New OdbcDataAdapter(sSQL, conn)
                    Dim ds As New DataSet
                    Dim sDialNum As String
                    Dim sDialGrp As String
                    da.Fill(ds)                For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
                        sDialNum = ""
                        sDialGrp = ""
                        sDialNum = ds.Tables(0).Rows(i).Item(0).ToString()
                        sDialGrp = ds.Tables(0).Rows(i).Item(1).ToString()
                        '20081009 Check existing dialList 
                        'There is no number in existing diallist and there is no duplicate number in OptList
                        'Import the dial number in
                        If Not clsdb.SelectOptList(sDialNum, sDialGrp) = True Then                        If (ddlListType.SelectedIndex = 1) Then
                                If Not clsdb.SelectDialList(sDialNum) = True Then
                                    clsdb.ImportDialListLogin(sDialNum, sDialGrp)
                                End If
                            Else
                                clsdb.ImportOptlist(sDialNum, sDialGrp)
                            End If                    End If
                    Next
                    'Else
                    '    For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
                    '        sDialNum = ""
                    '        sDialGrp = ""
                    '        sDialNum = ds.Tables(0).Rows(i).Item(0).ToString()
                    '        sDialGrp = ds.Tables(0).Rows(i).Item(1).ToString()
                    '        If clsdb.SelectOptList(sDialNum, sDialGrp) = False Then                '        End If
                    '    Next
                    'End If                AccessDataSource1.DataBind()
                    GridView1.DataBind()
                    lblMsg.Text = "Import success "
                Catch ex As Exception
                    lblMsg.Text = "err:" & ex.Message.ToString
                End Try
            End If
        End Sub