vb.net dbf 导入mdb

lzy934 2012-05-11 07:34:11
网上查找DBF数据导入MDB的代码,一直没找到,所以自已做了一个。一般要先设置数据源(dsn),以下是导入的代码,这里有用DX,没用DX的改改也可以用。如果各位大侠有更好的办法,也说说啊。
Private Sub OpenDBF(ByVal dbfpath As String, ByVal strsql As String)
Dim comm1 As New Odbc.OdbcCommand
cnn1.ConnectionString = "DSN=dBASE Files;DBQ=" & dbfpath ' 连接DBF数据库
cnn1.Open()
Try
Dim comm As New OdbcCommand(strsql)
comm.Connection = cnn1
rs = New OdbcDataAdapter(comm)
dt = New DataTable
rs.Fill(dt)
Catch ex As Exception
DevExpress.XtraEditors.XtraMessageBox.Show(ex.Message)
Finally
cnn1.Close()
End Try

End Sub
Private Function UpdateDB(ByVal tablename As String) As Boolean
'复制并保存表
DBFileName = DevExpress.Utils.FilesHelper.FindingFileName(Application.StartupPath, "database\data\lqxb1.mdb")
con1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBFileName
If DBFileName <> "" Then
Dim cnn As New OleDb.OleDbConnection '把内存表中的数据存到数据库
cnn.ConnectionString = con1
cnn.Open()
'清空原表内容
Dim rst As New OleDb.OleDbCommand
rst.CommandText = "delete from " & tablename
rst.CommandType = CommandType.Text
rst.Connection = cnn
rst.ExecuteNonQuery()
' 一行一行复制表,并保存数据集到数据库中
Dim dr As DataRow
Dim dc As DataColumn
For Each dr In dt.Rows
Dim str_ins As String = ""
Dim str_value As String = ""
For Each dc In dt.Columns
str_ins &= dc.ColumnName & ","
str_value &= "'" & dr.Item(dc).ToString & "',"
Next
str_ins = str_ins.Substring(0, str_ins.Length - 1)
str_value = str_value.Substring(0, str_value.Length - 1)
rst.CommandText = "Insert into " & tablename & "(" & str_ins & ") Values(" & str_value & ")"
rst.CommandType = CommandType.Text
rst.Connection = cnn
rst.ExecuteNonQuery()
Next
cnn.Close()
cnn.Dispose()
End If
End Function
...全文
84 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tygh2001 2012-05-15
  • 打赏
  • 举报
回复
mdb中是不是应该先判断是否该表存在,如果存在就得先删除掉,重新创建啊?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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