二。導庫的VB程序
這個工程要使用一些對象庫,在數據庫訪問方面,決定使用ADO(ActiveX Data Objects),對於使用過ASP的人,這個名字應該非常熟悉了,實際上,它在VB中的應用也是幾乎一樣的,由於要操作Excel,還要引用一個擴展的對象庫。點菜單中的“工程”---“引用”,選擇“Microsoft ActiveX Data Objects 2.6 Library”和“Microsoft Excel 9.0 Object Library”,在引用列表中,可引用對象庫的版本或許有所不同,選擇類似的最新版本就可以了。要使用對話框和進度條,還要引用一些部件,點菜單中的“工程”--“部件”,選擇“Microsoft Common Dialog Control 6.0(SP3)”和“Microsoft Windows Common Controls 6.0(SP3)”。
界面如圖一所示
圖中各數字表示的控件分別是:
1-3:3個均為TextBox控件,名字分別為mdbfilename,mdbpassword,xlsfilename,mdbfilename用來指示導入Access文件的路徑和文件名,mdbpassword用來輸入Access文件的密碼,xlsfilename用來指示導入Excel文件的路徑和文件名;
4:名稱為select_mdbfile,CommandButton控件,用來選擇要導入的Access文件;
5:名稱為importMDB,CommandButton控件,選擇好文件後,用該按鈕導入MDB文件
6:名稱為CommonDialog1,CommonDialog控件
7:名稱為select_xlsfile,CommandButton控件,用來選擇要導入的Excel文件;
8:名稱為importXLS,CommandButton控件,選擇好文件後,用該按鈕導入XLS文件;
9:名稱為CommonDialog2,CommonDialog控件
10:名稱為prgBar1,進度條(ProgressBar),當要導入很多記錄時,使用進度條可以指示當前的導入進度
11:名稱為StatusBar1,狀態條(StatusBar),指示導入的進展狀態,包括“正在導入”,“導入完成”等。
要將Style設置為“1-sbrSimple”
在程序的頭部作以下聲明
Option Explicit
Dim Cn As New ADODB.Connection
Dim Cnmysql As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim Rsmysql As New ADODB.Recordset
Function replace_str(srcstr As String)
srcstr = Replace(srcstr, "", "")
replace_str = Replace(srcstr, "'", "'")
End Function
雙擊form,在裝載form時輸入以下的代碼
Private Sub Form_Load()
'將進度條設置為不可見
prgBar1.Visible = False
'連接mysql數據庫,pwd為數據庫的密碼,uid為用戶名,dsn為數據源的名稱
Cnmysql.ConnectionString = "uid=root;pwd=;dsn=build"
Cnmysql.Open
End Sub