| 网站首页 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛 |
 
| 技术教程首页 | 开发语言 | WEB开发 | .NET技术 | 数据库 | 操作系统 | 网页制作 |
 
 
您现在的位置: 编程中国 >> 技术教程 >> .NET技术 >> VB.NET >> VB.NET技术资料 >> 正文
  ►  Visual Basic.NET快速开发MIS系统
Visual Basic.NET快速开发MIS系统
作者:未知    阅读人次:……    文章来源:不详    发布时间:2004-10-8    网友评论()条
 

  定义一操作数据库中物理表的类CData,此类继承CDataBase,即:

Public Class CData:Inherits CDataBase

  此类应该由供用户提供所操作的物理表的表名,指定了表名就可取得该表的所有性质。该表主要完成插入、删除、更新功能。定义其属性、方法如下:

  申明类CData的变量:

'所要操作的表名
Private Shared UpdateTableName As String
'所要操作的表对象
Public Shared UpdateDataTable As New DataTable()
'对应表的一行数据197
Public Shared ObjFields() As Object
'表的字段数
Public Shared FieldCount As Int16
'主关键字。我们假设每个物理表都有一个主关键字字段fSystemID
Public Shared SystemID As String

  说明:Shared 关键字指示一个或多个被声明的编程元素将被共享。共享元素不关联于某类或结构的特定实例。可以通过使用类名或结构名称或者类或结构的特定实例的变量名称限定共享元素来访问它们。

  申明类CData的属性UpdateTable,当向UpdateTable赋给了一个已知表的表名,就可确定表的字段数,定义出数据行。这里,先打开表,再重新定义数据行.

Public Property UpdateTable() As String
 Get
  UpdateTable = UpdateTableName
 End Get
 Set(ByVal Value As String)
  UpdateTableName = Value.Trim
  UpdateDataTable = DB.GetDataTable(UpdateTableName)
  UpdateTableFieldNames = UpdateDataTable.Clone
  FieldCount = UpdateDataTable.Columns.Count
  ReDim ObjFields(FieldCount - 1)
 End Set
End Property

'删除由主关键值fSystemID指定的数据行
Public Sub Delete()
 Dim strSQL As String

 strSQL = "Delete from " & UpdateTableName & " where fSystemID=" & SystemID
 DB.Delete(strSQL)
 UpdateDataTable.Rows.Remove(GetRow)
End Sub

'向表UpdateTableName中插入一行数据。数据由ObjFields给出
Public Function Insert() As Boolean
 DB.Insert(UpdateTableName, ObjFields)
End Function

'更新表UpdateTableName所指定的行
Public Shadows Sub Update()
 Dim SetField As String
 Dim i As Int16

 For i = 1 To FieldCount - 1
  SetField = UpdateTableFieldNames.Columns(i).ColumnName & "=" & ObjFields(i)
  UpdateField(SetField)
 Next
End Sub

Public Sub UpdateField(ByVal SetField As String)
 Dim StrSQL As String
 StrSQL = "select * from " & UpdateTableName & " where fSystemID= " & SystemID
 DB.Update(StrSQL, SetField)
End Sub

'填充网络数据
Public Overloads Sub FillGrid(ByVal GridName As DataGrid)
 GridName.DataSource = UpdateDataTable
End Sub

'把数据网格的当前行数据定写入到输入控件中
Public Sub DataGridToText(ByVal frm As Form)
 Dim RowIndex, i As Int16
 Dim value
 Dim obj As Control
 Dim DataGrid As New DataGrid()
 If FieldCount = 0 Then Exit Sub
  For Each obj In frm.Controls
   If obj.GetType.Name = "DataGrid" Then
    DataGrid = obj
    Exit For
   End If
  Next
  RowIndex = DataGrid.CurrentRowIndex
  For i = 1 To FieldCount - 1
   value = DataGrid.Item(RowIndex, i)
   If IsDBNull(value) = True Then
    value = ""
   End If
   For Each obj In frm.Controls '
    If obj.TabIndex = i Then
     obj.Text = value
     Exit For
    End If
   Next
  Next
End Sub


 

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

 

 
文章录入:静夜思    责任编辑:静夜思 
  • 上一篇文章:

  • 下一篇文章:

  •  
    相关文章
    原创地带
    24小时热门帖子