动态切换数据源,供参考
Dim lx As String = "Access 2000/2003" '数据库类型
Dim value1, name1 As String
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter = "青橙接口文件|*.zjk" '设置筛选器
dlg.InitialDirectory = ProjectPath & "数据库\"
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
name1 = dlg.FileName'数据库名称
Dim sjy As String = Rand.NextString(16) '随机生成,避免重复
Connections.Add(sjy, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & name1 & ";Persist Security Info=False")
If lst.Contains("A1_qdk") Then
'可以进一步判断,列名等是否与当前表一致
For Each frm As WinForm.Form In forms '关闭主窗口以外的所有窗口,确保没有其他窗口打开
If frm.Name <> "主窗口" And frm.Opened Then
frm.close()
End If
Next
value1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & name1 & ";Persist Security Info=False"
Dim s As String = ""
'遍历当前属于此数据源的表
For Each dt As DataTable In DataTables
If dt.C Then
s += "|" & dt.name
End If
Next
s = s.Trim("|")
'卸载表
DataTables.Unload(s)
If Connections.Contains("青橙") Then
Connections.Delete("青橙")
End If
Connections.add("青橙", value1)
DataTables.load(s)
' Application.Restart() '系统重新启动
MainTable = Tables("A1_qdk")
End If
End If
[此贴子已经被作者于2023/9/6 8:51:51编辑过]