杨军
摘 要 时下,广播电台应用软件对音频信息处理量日益增多,音频信息库系统设计工具层出不穷。Visual Basic作为传统可视化编程语言,是一种简单、高效开发应用软件工具。如果利用其编程,将大大提升开发效率。因其本身缺乏存取音频信息库的基本能力,因此提供一个效率好又统一的信息库存取介面是非常必要的。Microsof公司提供了ActiveX Data Component组件(ADO组件),为Visual Basic应用软件存取音频信息库带来了新的希望。
关键词 ADO组件;DataGrid;音频信息库;程序设计
中图分类号 TP3 文献标识码 A 文章编号 1674-6708(2017)179-0066-03
利用Visual Basic(以下简称VB)所提供的两种控制元件-ADO Data Control(简称ADODC)及DataGrid,可以轻松完成音频信息库主要程序设计。下面以广播电台音频信息库为例,做一系统阐述。
1 设定ADODC ConnectionString 属性
ADODC 及DataGrid是外挂控制元件,使用前要引用工程部件。方法是首先选取VB功能表 “工程—部件”,再选取“Microsoft ADO Data Control 6.0”及“Microsoft見DataGrid Control 6.0“,同时在图1表单上会布置一个ADODC。
在布置完资料控制项(ADODC) 后,还必须进行一些基础属性的设定。在ADODC上面按下鼠标键,待出现快显功能表时,选取“ADODC 的属性”。特别是VB连结数据库时,需要使用“OLE DB Provider ”来设定连结,OLE DB Provider的服务对象包括各种不同资料库格式如Jet、SQL、Oracle等。在此因广播电台音频资料库socontrl. mdb 为Microsoft Access 的格式,因此必须选择“Microsoft Jet 3.51 OLE DB Provider ”选项,需要指定所要开启资料库的路径与文件名,以及使用者名称与密码。
2 设定ADODC 的RecordSource 属性
当连结完音频信息库工作完成后,欲使程序能取得音频信息库中的记录,必须设定信息来源,即ADODC 的RecordSource 属性,信息来源可以是信息库某个表格或是执行SQL 叙述所取得的记录集合。在RecordSource 属性页里ODBC数据信息名称处请选择“MS Access Database”,代表取得的信息来源为信息库中的表格。
3 设定连结控制项的属性
设定ADO Data 控制项ConnectionString 属性和RecordSource 后,系统即可连上信息库,若要读取并显示信息记录,则要连结控制项,利用TextBox 控制项显示记录。主要分两步:
1)取得ADO Data 控制项信息来源(设定DataSource 属性)。
2)设定想要显示信息内容(设定DataField属性)。
连结控制项DataSource 属性设定步骤如图2所示,主要由ADO Data 控制项读取信息来源,作显示用,因此DataSource属性,必须设定成ADO Data 控制项名称,即ADO Data 控制项的Name 属性。由于本文在表单上只布置一个ADO Data 控制项,因此只有一个名称adodc1,标志完成DataSource 属性设定。
设完DataSource 属性,还要设DataField属性,以使信息来源的栏位内容能在TextBox 控制项显示,因此设置DataField 属性重点是栏位名称,设定步骤如图3。
4 音频信息库程序设计
使用VB设计系统,通常事先设计界面及界面控制项,再针对控制项不同事件写入代码。如图4中加入了包含添加、删除、写入、浏览及退出等5个命令按钮提供使用者方便用鼠标做点选的工作。同时这些命令按钮对应各自程序代码。
由于程序代码太长,不一一列出,以下为命令按钮相关程序代码为例:
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架构,当点“添加”按钮时,VB会执行“Command4_Click()”子程序里的程序代码,并且传入参数Index为0;当使用者点选“删除”按钮时,VB 会执行“Command4_ Click()”子程序里的程序代码,并且传入参数Index为1,其他以此类推。因此以Select Case叙述来判别Index的值,即可决定要处理的功能为何。