.csv文件导入到access中

slove1116 2008-11-13 03:43:31
C#实现!论坛中没找到!!!请问有人做过类似的功能没有????给个方法参考一下谢谢
...全文
293 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovetrue 2008-11-13
  • 打赏
  • 举报
回复
用SQL
slove1116 2008-11-13
  • 打赏
  • 举报
回复
我有段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

accomp 2008-11-13
  • 打赏
  • 举报
回复
只会循环读
能直接倒么
slove1116 2008-11-13
  • 打赏
  • 举报
回复
难道自己写循环插入么.....那么多数据估计完蛋
weilu0328 2008-11-13
  • 打赏
  • 举报
回复
我用Sql Loader 把.csv文件导到Oracle DB过,确实对大数据量的导入工作很实用!不清楚Sql Loader是否能把.csv文件导到Access DB中,期待LZ!

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧