Imports DatabaseLibrary.DBLuokat Public Class clssanasto Inherits clsPerus Private _intKieliID As Integer = 0 Private _strRyhma As String = String.Empty Private _strOtsikko As String = String.Empty Private _strSelite As String = String.Empty Private _dtSanasto As New DataTable Private _bUusi As Boolean = True Public Sub New() Me.AvainKentta = "intglossaryid" Me.Taulu = "glossaries" End Sub Public Property Kieli() As Integer Get Return _intKieliID End Get Set(ByVal Value As Integer) _intKieliID = Value End Set End Property Public Property Uusi() As Boolean Get Return _bUusi End Get Set(ByVal Value As Boolean) _bUusi = Value End Set End Property Private Sub MuodostaSanasto() Try _dtSanasto.Columns.Add("intglossaryid", Type.GetType("System.Int32")) _dtSanasto.Columns.Add("intlanguageid", Type.GetType("System.Int32")) _dtSanasto.Columns.Add("strgroup", Type.GetType("System.String")) _dtSanasto.Columns.Add("strseach", Type.GetType("System.String")) _dtSanasto.Columns.Add("strexplanation", Type.GetType("System.String")) Catch ex As Exception End Try End Sub Public ReadOnly Property PalautaSanasto() As DataTable Get If _dtSanasto.Columns.Count = 0 Then Me.MuodostaSanasto() End If Return _dtSanasto End Get End Property Public Property Ryhma() As String Get Return _strRyhma End Get Set(ByVal Value As String) _strRyhma = Value End Set End Property Public Property Otsikko() As String Get Return _strOtsikko End Get Set(ByVal Value As String) _strOtsikko = Value End Set End Property Public Property Selite() As String Get Return _strSelite End Get Set(ByVal Value As String) _strSelite = Value End Set End Property Public Sub New(ByVal iSanasto As Integer) Me.AvainKentta = "intglossaryid" Me.Taulu = "glossaries" Me.AvainID = iSanasto End Sub Public Sub HaeSana() Dim obDS As New clsDB_OleDb Dim dtHaku As New DataTable Try Me.strSQL = "select intlanguageid, strgroup,strseach,strexplanation from glossaries " & _ " where intglossaryid=" & Me.AvainID obDS.ConnectionString = Me.ConnectionString obDS.OpenDBConnection() dtHaku = obDS.GetDataSet(Me.strSQL).Tables(0) obDS.CloseDBConnection() obDS.Dispose() obDS = Nothing If dtHaku.Rows.Count > 0 Then Me.Kieli = dtHaku.Rows(0)(0) Me.Ryhma = IIf(Not IsDBNull(dtHaku.Rows(0)(1)), dtHaku.Rows(0)(1), String.Empty) Me.Otsikko = IIf(Not IsDBNull(dtHaku.Rows(0)(2)), dtHaku.Rows(0)(2), String.Empty) Me.Selite = IIf(Not IsDBNull(dtHaku.Rows(0)(3)), dtHaku.Rows(0)(3), String.Empty) If Me.Ryhma = String.Empty Then Me.Ryhma = Mid(Me.Otsikko, 1, 1) End If End If Catch ex As Exception If Not IsNothing(obDS) Then obDS.CloseDBConnection() obDS.Dispose() obDS = Nothing End If Throw New Exception("Seeking word failed") End Try End Sub Public Sub HaeSanasto() Dim obDS As New clsDB_OleDb Dim dtHaku As New DataTable Dim rw As DataRow Try If Me.Kieli < 1 Then Err.Raise(1) End If Me.strSQL = "select intglossaryid,intlanguageid,strgroup,strseach,strexplanation " & _ " from glossaries where intlanguageid=" & Me.Kieli & " order by strgroup asc,strseach asc" obDS.ConnectionString = Me.ConnectionString obDS.OpenDBConnection() dtHaku = obDS.GetDataSet(Me.strSQL).Tables(0) obDS.CloseDBConnection() obDS.Dispose() obDS = Nothing rw = Me.PalautaTaulu.NewRow rw(0) = -1 If Me.Uusi Then rw(1) = "Add new" Else rw(1) = "Choice " End If Me.PalautaTaulu.Rows.Add(rw) For i As Integer = 0 To dtHaku.Rows.Count - 1 rw = Me.PalautaTaulu.NewRow rw(0) = dtHaku.Rows(i)(0) rw(1) = dtHaku.Rows(i)(3) Me.PalautaTaulu.Rows.Add(rw) Next Catch ex As Exception When Err.Number = 1 If Not IsNothing(obDS) Then obDS.CloseDBConnection() obDS.Dispose() obDS = Nothing End If Throw New Exception("First choice language") Catch ex As Exception If Not IsNothing(obDS) Then obDS.CloseDBConnection() obDS.Dispose() obDS = Nothing End If Throw New Exception("Seeking glossary failed") End Try End Sub Public Sub TallennaSanasto() Dim obDS As New clsDB_OleDb Try If Me.AvainID = -1 Then 'lisays Me.strSQL = "INSERT INTO " & Me.Taulu & "(intlanguageid,strgroup,strseach,strexplanation)" & _ " values (" & Me.Kieli & ",'" & IIf(Me.Ryhma = String.Empty, Mid(Me.Otsikko, 1, 1).ToUpper, Me.Ryhma.ToUpper) & "','" & Me.Otsikko & "','" & _ Me.Selite & "')" Else 'muokkaus Me.strSQL = "UPDATE " & Me.Taulu & " SET strgroup='" & IIf(Me.Ryhma = String.Empty, Mid(Me.Otsikko, 1, 1).ToUpper, Me.Ryhma.ToUpper) & "'" & _ ",strseach='" & Me.Otsikko & "'" & _ ",strexplanation='" & Me.Selite & "'" & _ " where " & Me.AvainKentta & "=" & Me.AvainID End If obDS.ConnectionString = Me.ConnectionString obDS.OpenDBConnection() obDS.ExecuteNonQuery(Me.strSQL) obDS.CloseDBConnection() obDS.Dispose() obDS = Nothing Catch ex As Exception If Not IsNothing(obDS) Then obDS.CloseDBConnection() obDS.Dispose() obDS = Nothing End If Throw New Exception("Saving failed") End Try End Sub End Class