摘要:LIBClassNew.vb

"ClassFillGridHelper"#Region "ClassFillGridHelper" ' Class : ClassFillGridHelper
' Used in : ROE, LOEPrinting, WardLOE
' History :
' 2009-09-01 : Developing
Public Class ClassFillGridHelper
Inherits ClassFillDataHelper
Private mGrid As C1.Win.C1FlexGrid.C1FlexGrid
Private miRow As Integer
Private mFieldArraylist As New ArrayList

"fAddGridRow, iGetGridRow"#Region "fAddGridRow, iGetGridRow" 
Public Sub fAddGridRow() Sub fAddGridRow()
Try
mGrid.Rows.Add()
miRow = mGrid.Rows.Count - mGrid.Rows.Fixed()
Catch Err As Exception
End Try
End Sub 
Public Function iGetGridRow() Function iGetGridRow() As Integer
' iGetGridRow -) get no. of row of mGrid
Try
miRow = mGrid.Rows.Count - mGrid.Rows.Fixed()
iGetGridRow = miRow
Catch Err As Exception
End Try
End Function
#End Region

"SetC1FlexGrid, FillGridFieldList, bExistGridField"#Region "SetC1FlexGrid, FillGridFieldList, bExistGridField"

Public Sub SetC1FlexGrid() Sub SetC1FlexGrid(ByRef mGrid As C1.Win.C1FlexGrid.C1FlexGrid, Optional ByVal pbClearGrid As Boolean = False)
Try
If pbClearGrid = True Then
Call nsC1Grid.ClearGrid(mGrid)
End If
Me.mGrid = mGrid
Call FillGridFieldList()
Catch Err As Exception
End Try
End Sub

Private Sub FillGridFieldList() Sub FillGridFieldList()
Try
' FillFieldList -) Fill the Grid Column into Arraylist list for bExistGridField Use
For liField As Integer = 0 To mGrid.Cols.Count - 1
mFieldArraylist.Add(mGrid.Cols(liField).Name.ToLower)
Next
Catch Err As Exception
End Try
End Sub

Private Function bExistGridField() Function bExistGridField(ByVal psSQLFieldName As String) As Boolean
Try
bExistGridField = False
If mFieldArraylist.Contains(psSQLFieldName.ToLower) Then
bExistGridField = True
Else
Console.WriteLine(Me.mGrid.Name & " - No this Grid Field : " & psSQLFieldName)
End If
Catch Err As Exception
End Try
End Function
#End Region

"fFillGridFieldFromSQL"#Region "fFillGridFieldFromSQL"

Public Sub fFillGridFieldFromSQL() Sub fFillGridFieldFromSQL(ByVal psSQLFieldName As String, Optional ByVal psGridColName As String = BLANK)
' If GridColName = SQLFieldName, no need to input GridColName.
Try
If psGridColName = BLANK Then
If bExistGridField(psSQLFieldName) = True Then
mGrid.Item(miRow, psSQLFieldName) = MyBase.oLoadSQLField(psSQLFieldName)
Else
Debug.Print(Me.GetType.ToString & "bExistGridField = false ")
End If
Else
If bExistGridField(psGridColName) = True Then
mGrid.Item(miRow, psGridColName) = MyBase.oLoadSQLField(psSQLFieldName)
Else
Debug.Print(Me.GetType.ToString & "bExistGridField = false ")
End If
End If
Catch Err As Exception
End Try
End Sub

Public Sub fFillGridFieldFromSQL() Sub fFillGridFieldFromSQL(ByVal psSQLBooleanFieldName As String, ByVal psGridColName As String, ByVal psGridDisplayText As String)
' If psSQLBooleanFieldName = true, then fill psGridDisplayText into psGridColName
Try
If bExistGridField(psGridColName) = True Then
If MyBase.oLoadSQLField(psSQLBooleanFieldName) = True Then
mGrid.Item(miRow, psGridColName) = psGridDisplayText
End If
End If
Catch Err As Exception
End Try
End Sub
#End Region
End Class
#End Region

"ClassFillDataHelper"#Region "ClassFillDataHelper" ' Class : ClassFillDataHelper
' Used in : ROE, LOEPrinting, WardLOE
' History :
' 2009-09-01 : Developing
Public Class ClassFillDataHelper
Inherits ClassSQLHelperNew
Private cmSQL As OleDbCommand
Private mbConnect As Boolean = False

"bReadStart, bReadEnd, SetConnection"#Region "bReadStart, bReadEnd, SetConnection" 
Public Function bReadStart() Function bReadStart() As Boolean
bReadStart = False
Try
If mbConnect = False Then
MsgBoxOkOnly(" Please restart the program,as it is disconnected.")
Exit Function
End If
bReadStart = drSQL.Read()
Catch Err As Exception
Call ErrHandler(Err.Message, APP_NAME)
End Try
End Function

Public Sub bReadEnd() Sub bReadEnd()
Try
drSQL.Close()
cmSQL.Dispose()
Catch Err As Exception
End Try
End Sub

Public Sub SetConnection() Sub SetConnection(ByRef psSQLString As String)
Try
mbConnect = nsSQL.bCheckDBConnection
If mbConnect = False Then Exit Sub
cmSQL = New OleDbCommand(psSQLString, gcnOLEDBHIS)
MyBase.drSQL = cmSQL.ExecuteReader()
MyBase.FillFieldList()
Catch Err As Exception
Call ErrHandler(Err.Message, APP_NAME)
End Try
End Sub
#End Region
End Class
#End Region

"ClassSQLHelperNew"#Region "ClassSQLHelperNew" ' Class : ClassSQLHelperNew
' Used in : LOEPrinting,ROE
' History :
' 2009-09-01 : Developing
Public MustInherit Class ClassSQLHelperNew
Protected drSQL As OleDbDataReader
Private mFieldArraylist As New ArrayList

"oLoadSQLField"#Region "oLoadSQLField" 
Public Function oLoadSQLField() Function oLoadSQLField(ByVal psSQLFieldName As String) As Object
oLoadSQLField = BLANK
Try
Select Case psSQLFieldName
' special case : user define case
Case "PatientName"
oLoadSQLField = sPatientName(vntFixNull(drSQL("PV_Surname")), vntFixNull(drSQL("PV_Given_Name")), vntFixNull(drSQL("ChiName")))
Case "DoctorName"
oLoadSQLField = sDoctorName(vntFixNull(drSQL("Doctor_Surname")), vntFixNull(drSQL("Doctor_GivenName")), BLANK)
Case Else
If bExistSQLField(psSQLFieldName) = True Then
oLoadSQLField = oLoadSQLData_NormalCase(psSQLFieldName)
Else
' may forgot to insert the field
Debug.Print("No this SQL field : " & psSQLFieldName)
End If
End Select
Catch Err As Exception
End Try
End Function

Private Function oLoadSQLData_NormalCase() Function oLoadSQLData_NormalCase(ByVal psSQLFieldName As String) As Object
oLoadSQLData_NormalCase = BLANK
Try
Select Case drSQL.GetFieldType((drSQL.GetOrdinal(psSQLFieldName))).ToString
Case "System.String"
oLoadSQLData_NormalCase = vntFixNull(drSQL(psSQLFieldName))
Case "System.DateTime"
oLoadSQLData_NormalCase = FormatDateSec(vntFixNull(drSQL(psSQLFieldName))).ToString.Replace("00:00:00", BLANK)
Case "System.Boolean"
oLoadSQLData_NormalCase = bGetBoolean(vntFixNull(drSQL(psSQLFieldName)))
Case Else
oLoadSQLData_NormalCase = vntFixNull(drSQL(psSQLFieldName))
End Select
Catch Err As Exception
End Try
End Function
#End Region

"fLoadSQLField"#Region "fLoadSQLField" 
Public Sub fLoadSQLField() Sub fLoadSQLField(ByVal psSQLFieldName As String, ByRef psLoadValue As Object)
Try
psLoadValue = Me.oLoadSQLField(psSQLFieldName)
Catch Err As Exception
Call drSQL.Close()
Call ErrHandler(Err.Message, APP_NAME)
End Try
End Sub
#End Region

"bExistSQLField"#Region "bExistSQLField" 
Private Function bExistSQLField() Function bExistSQLField(ByVal psSQLFieldName As String) As Boolean
Try
bExistSQLField = False
If mFieldArraylist.Contains(psSQLFieldName.ToLower) Then
bExistSQLField = True
End If
Catch Err As Exception
End Try
End Function
#End Region

"FillFieldList"#Region "FillFieldList" 
Protected Sub FillFieldList() Sub FillFieldList()
Try
For liField As Integer = 0 To drSQL.FieldCount - 1
mFieldArraylist.Add(drSQL.GetName(liField).ToLower)
Next
Catch Err As Exception
End Try
End Sub
#End Region
End Class
#End Region
------------------
熱愛生命 喜愛新奇 有趣的事物
過去 是無法改變
將來 卻能夠創造
希望使大家生活更便利
世界更美好
a guy who loves IT and life