人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

轉(zhuǎn):Visual Basic.NET迅速開發(fā)MIS系統(tǒng)(2)

轉(zhuǎn):Visual Basic.NET迅速開發(fā)MIS系統(tǒng)(2)

更新時間:2022-07-06 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

窗體繼承及實現(xiàn)

  所處理的物理表

  有了上面的類,我們就可應(yīng)用它來實現(xiàn)MIS系統(tǒng)中關(guān)于物理表的操作功能。

  例如我們有一個tInfo表、tUser表、tChange表、tSub表,表中都定義了主關(guān)鍵字字段FSYSTEMID, 表結(jié)構(gòu)如下:



        tChange表

tSub表

  生成窗體模板

  我們要向tInfo表、tUser二個表里插入數(shù)據(jù),刪除數(shù)據(jù),更新數(shù)據(jù),它們應(yīng)該分別在二個Form里完成。這里,我們可先定義一Form模板,命名為FrmModule,在FrmModule上增加工具箱ToolBar1,在ToolBar1增加"增加"、"保存"按鈕 、"刪除"、"退出"等按鈕,增加數(shù)據(jù)網(wǎng)絡(luò)DataGrid1,文本盒及下拉列表盒。布置好后如下圖:




  把在繼承的Form中可能會重新設(shè)置控件的控件對象的友元屬性改為公有屬性:

  要使模板FrmModule中的控件能夠在繼承的窗體中能夠修改其所繼承的控件屬性,必須把其友元屬性改為公有屬性

Public WithEvents Label2 As System.Windows.Forms.Label
Public WithEvents txt4 As System.Windows.Forms.ComboBox


  定義FrmModule類的全局變量

  FrmModule直接調(diào)用CData類的方法,完成所需功能。

Public Shared gCls As New CData()
Public gIsUpdate as Boolean

  定義FrmModule的方法

  在FrmModule的Load事件中連接數(shù)據(jù)庫,并填充網(wǎng)格數(shù)據(jù),即:

Public Shadows Sub FrmModel_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 gCls.DB.ConnOracle("GDZC", "liyu", "123")
 gCls.FillGrid(Me.DataGrid1)
End Sub

  當(dāng)單擊DataGrid1時,應(yīng)把DataGrid1的當(dāng)前行寫入輸入控件中供用戶修改數(shù)據(jù),取得當(dāng)前行的標(biāo)識,這里用SystemID記錄,同時表示可以更新。這個過程在DataGrid1的_CurrentCellChanged事件中完成, 即:

Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs)  Handles DataGrid1.CurrentCellChanged
 Dim RowIndex As Int16
 RowIndex = DataGrid1.CurrentRowIndex
 gCls.DataGridToText(Me)
 gCls.SystemID = DataGrid1.Item(RowIndex, 0)
 gIsUpdate = True
End Sub

  編寫ToolBar1的ButtonClick事件。由按鈕文本識別所單擊的對象.當(dāng)時單擊"增加"時表示不能更新,當(dāng)時單擊"保存"時要識別是更新還是插入數(shù)據(jù)。執(zhí)行完后要重新填充網(wǎng)格, 即:

Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick
 Select Case e.Button.Text
 Case "增加"
  gIsUpdate = False
 Case "保存"
  WriteDateToArray()
  If gIsUpdate Then
   gCls.Update()
   Exit Select
  Else
   gCls.Insert()
  End If
 Case "刪除"
  If MsgBox ("真的刪除該數(shù)據(jù)嗎?(Y/N)") = 7 Then
   Return
  End If
  gCls.Delete()
 Case "退出"
  Me.Close()
  Exit Sub
 End Select
 gCls.FillGrid(DataGrid1)
End Sub

'把輸入的數(shù)據(jù)用對象數(shù)組保存起來
Public Overridable Sub WriteDateToArray()
 Dim i As Int16
 Dim obj As Control
 For i = 1 To gCls.FieldCount - 1
  For Each obj In Me.Controls
   If obj.TabIndex = i Then
    gCls.ObjFields(i) = obj.Text
    Exit For
   End If
  Next
 Next
 gCls.ObjFields(0) = gCls.DB.GetMaxID(gCls.UpdateTable, "FSYSTEMID") + 1
End Sub

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 恭城| 两当县| 罗源县| 东台市| 永昌县| 铁岭县| 巴青县| 八宿县| 阳东县| 通河县| 丹巴县| 清新县| 札达县| 老河口市| 肃宁县| 郯城县| 比如县| 武乡县| 蒙阴县| 仙桃市| 楚雄市| 辽阳市| 余江县| 新野县| 红河县| 花垣县| 弥渡县| 独山县| 进贤县| 高青县| 双城市| 嘉义县| 咸丰县| 苏尼特右旗| 海阳市| 错那县| 佳木斯市| 汉川市| 扶风县| 桐城市| 靖州|