楊軍
摘 要 時下,廣播電臺應(yīng)用軟件對音頻信息處理量日益增多,音頻信息庫系統(tǒng)設(shè)計工具層出不窮。Visual Basic作為傳統(tǒng)可視化編程語言,是一種簡單、高效開發(fā)應(yīng)用軟件工具。如果利用其編程,將大大提升開發(fā)效率。因其本身缺乏存取音頻信息庫的基本能力,因此提供一個效率好又統(tǒng)一的信息庫存取介面是非常必要的。Microsof公司提供了ActiveX Data Component組件(ADO組件),為Visual Basic應(yīng)用軟件存取音頻信息庫帶來了新的希望。
關(guān)鍵詞 ADO組件;DataGrid;音頻信息庫;程序設(shè)計
中圖分類號 TP3 文獻標(biāo)識碼 A 文章編號 1674-6708(2017)179-0066-03
利用Visual Basic(以下簡稱VB)所提供的兩種控制元件-ADO Data Control(簡稱ADODC)及DataGrid,可以輕松完成音頻信息庫主要程序設(shè)計。下面以廣播電臺音頻信息庫為例,做一系統(tǒng)闡述。
1 設(shè)定ADODC ConnectionString 屬性
ADODC 及DataGrid是外掛控制元件,使用前要引用工程部件。方法是首先選取VB功能表 “工程—部件”,再選取“Microsoft ADO Data Control 6.0”及“Microsoft見DataGrid Control 6.0“,同時在圖1表單上會布置一個ADODC。
在布置完資料控制項(ADODC) 后,還必須進行一些基礎(chǔ)屬性的設(shè)定。在ADODC上面按下鼠標(biāo)鍵,待出現(xiàn)快顯功能表時,選取“ADODC 的屬性”。特別是VB連結(jié)數(shù)據(jù)庫時,需要使用“OLE DB Provider ”來設(shè)定連結(jié),OLE DB Provider的服務(wù)對象包括各種不同資料庫格式如Jet、SQL、Oracle等。在此因廣播電臺音頻資料庫socontrl. mdb 為Microsoft Access 的格式,因此必須選擇“Microsoft Jet 3.51 OLE DB Provider ”選項,需要指定所要開啟資料庫的路徑與文件名,以及使用者名稱與密碼。
2 設(shè)定ADODC 的RecordSource 屬性
當(dāng)連結(jié)完音頻信息庫工作完成后,欲使程序能取得音頻信息庫中的記錄,必須設(shè)定信息來源,即ADODC 的RecordSource 屬性,信息來源可以是信息庫某個表格或是執(zhí)行SQL 敘述所取得的記錄集合。在RecordSource 屬性頁里ODBC數(shù)據(jù)信息名稱處請選擇“MS Access Database”,代表取得的信息來源為信息庫中的表格。
3 設(shè)定連結(jié)控制項的屬性
設(shè)定ADO Data 控制項ConnectionString 屬性和RecordSource 后,系統(tǒng)即可連上信息庫,若要讀取并顯示信息記錄,則要連結(jié)控制項,利用TextBox 控制項顯示記錄。主要分兩步:
1)取得ADO Data 控制項信息來源(設(shè)定DataSource 屬性)。
2)設(shè)定想要顯示信息內(nèi)容(設(shè)定DataField屬性)。
連結(jié)控制項DataSource 屬性設(shè)定步驟如圖2所示,主要由ADO Data 控制項讀取信息來源,作顯示用,因此DataSource屬性,必須設(shè)定成ADO Data 控制項名稱,即ADO Data 控制項的Name 屬性。由于本文在表單上只布置一個ADO Data 控制項,因此只有一個名稱adodc1,標(biāo)志完成DataSource 屬性設(shè)定。
設(shè)完DataSource 屬性,還要設(shè)DataField屬性,以使信息來源的欄位內(nèi)容能在TextBox 控制項顯示,因此設(shè)置DataField 屬性重點是欄位名稱,設(shè)定步驟如圖3。
4 音頻信息庫程序設(shè)計
使用VB設(shè)計系統(tǒng),通常事先設(shè)計界面及界面控制項,再針對控制項不同事件寫入代碼。如圖4中加入了包含添加、刪除、寫入、瀏覽及退出等5個命令按鈕提供使用者方便用鼠標(biāo)做點選的工作。同時這些命令按鈕對應(yīng)各自程序代碼。
由于程序代碼太長,不一一列出,以下為命令按鈕相關(guān)程序代碼為例:
Private Sub command4_click()
Select Case Index
Case 0 添加或放棄
If connand4.Caption = "添加" Then
進入添加模式
Data.Recordset.addnew
command4.Caption = "放棄"
command4.ToolTipText = "放棄添加這條記錄"
command5.Enabled = False
command6.Enabled = True
command7.Enabled = False
command8.Enabled = False
Data.Enabled = False
Else
放棄添加記錄
Data.Recordset.CancelUpdate
command4.Caption = "添加"
command4.ToolTipText = "添加一條記錄"
command5.Enabled = ture
command6.Enabled = False
command7.Enabled = ture
command8.Enabled = ture
Data.Enabled = ture
End If
AddNew.Caption = command4.Caption
case1 刪除
Data.Recordset.Delete
case2 寫入
寫入添加記錄
Data.Recordset.Update
command4.Caption = "添加"
command4.ToolTipText = "添加一條記錄" command5.Enabled = ture
command6.Enabled = False
command7.Enabled = ture
command8.Enabled = ture
Data.Enabled = ture
AddNew.Caption = command4.Caption
case3 瀏覽
frmbrow.Show 1
Case 4 退出
End
End Select
End Sub
上述程序是一個Select Case架構(gòu),當(dāng)點“添加”按鈕時,VB會執(zhí)行“Command4_Click()”子程序里的程序代碼,并且傳入?yún)?shù)Index為0;當(dāng)使用者點選“刪除”按鈕時,VB 會執(zhí)行“Command4_ Click()”子程序里的程序代碼,并且傳入?yún)?shù)Index為1,其他以此類推。因此以Select Case敘述來判別Index的值,即可決定要處理的功能為何。