7,763
社区成员
发帖
与我相关
我的任务
分享
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