日期:2012-05-17  浏览次数:20522 次



数据相关实例:





数据集

Friend WithEvents Ds1 As DGDataViewSample.Dataset1




Dataset1为项目中的数据集框架文件,结构包括两个表:tablePerson和tableType





数据库连接变量

Friend WithEvents ODC As System.Data.OleDb.OleDbConnection




本例使用Access数据库,所以数据库连接使用OleDbConnection类型。针对不同3数据库类型,.NET提供不同的数据库连接类。

例如SQL Server数据库需要使用SqlConnection,ODBC数据源使用OdbcConnection,Oracle数据库需要使用OracleConnection。





数据适配器

Friend WithEvents ODDAPerson As System.Data.OleDb.OleDbDataAdapter



Friend WithEvents ODDAType As System.Data.OleDb.OleDbDataAdapter




与数据库连接类似,对于不同的数据库类型,需要使用不同的数据适配器类。

例如SQL Server数据库需要使用SqlDataAdapter,ODBC数据源使用OdbcDataAdapter,Oracle数据库需要使用OracleDataAdapter。

数据适配器的属性可以通过工具栏添加,按照向导提示完成即可;可以在设计时在属性窗口中进行配置;可以在编程时用代码设置。一个数据适配器相当于一个数据通道,负责将数据源中的数据填充到相应的数据集或数据表中,在完成对数据集或数据表的修改之后,再通过数据适配器将更新后的数据提交到数据库的源表中。通过修改相应的SQL语句,可以用编程控制数据适配器,使其匹配数据源中不同的表或视图。

本例为方便起见,为每一个表使用了单独的数据适配器和数据视图。





数据视图

Friend WithEvents DVPerson As System.Data.DataView



Friend WithEvents DVType As System.Data.DataView




本例中使用数据视图作为DataGrid的数据源。数据集和数据表也可以直接作为数据源使用。


数据初始化:


在初始化界面时,需要做两件事情,一个是初始化数据(本例中为InitData过程),将数据源中的数据填充到数据实例中;另一个是适当设置窗口中的某些控件属性(本例中为InitCtrl过程),以使数据能够正确的显示出来。





初始化数据

Private Sub InitData()



Try



ODC.Open()



Catch ex As Exception



MsgBox(ex.Message)



Application.Exit()



End Try







Try



ODDAPerson.Fill(Ds1.tablePerson)



ODDAType.Fill(Ds1.tableType)



Catch ex As Exception



MsgBox(ex.Message)



Application.Exit()



End Try



End Sub







初始化窗口控件

Private Sub InitUI()



LBTable.SelectedIndex = 0



DG.Select(0)



End Sub





数据浏览导航:


按钮第一个

Private Sub BFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BFirst.Click



DG.UnSelect(DG.CurrentRowIndex)



Dim dv As DataView



dv = DG.DataSource



If dv.Table.Rows.Count > 0 Then



DG.CurrentRowIndex = 0



DG.Select(DG.CurrentRowIndex)



End If



End Sub







按钮上一个

Private Sub BPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BPrev.Click



DG.UnSelect(DG.CurrentRowIndex)



Dim dv As DataView



dv = DG.DataSource



If DG.CurrentRowIndex - 1 <= 0 Then



DG.CurrentRowIndex = 0



Else



DG.CurrentRowIndex = DG.CurrentRowIndex - 1



End If



DG.Select(DG.CurrentRowIndex)



End Sub







按钮下一个

Private Sub BNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BNext.Click



DG.UnSelect(DG.CurrentRowIndex)



Dim dv As DataView



dv = DG.DataSource