Imports System.Text
Imports System.Data.Odbc
Public Class CarPark
    Private iConnectionString As String = _
            "DSN=Pdcl0bjc_CarParkVB;UID=dcl0bjc;PWD=XXXXXXX;"
    Public Sub New()
        Console.WriteLine("CarPark New")
    End Sub
    Public Sub Arrive(ByVal pString As String)
        Dim tSQLString As String = _
                "INSERT INTO vehicles SET number = '" + pString + "'"
        Console.WriteLine(tSQLString)
        Dim tOdbcConnection As OdbcConnection = _
                New OdbcConnection(iConnectionString)
        Dim tOdbcCommand As OdbcCommand = _
                New OdbcCommand(tSQLString, tOdbcConnection)
        Try
            tOdbcConnection.Open()
            tOdbcCommand.ExecuteNonQuery()
            tOdbcConnection.Close()
        Catch pException As Exception
            MessageBox.Show(pException.Message)
        End Try
    End Sub
    Public Sub Depart(ByVal pString As String)
        Dim tSQLString As String = _
                "DELETE FROM vehicles WHERE number = '" + pString + "'"
        Console.WriteLine(tSQLString)
        Dim tOdbcConnection As OdbcConnection = _
                New OdbcConnection(iConnectionString)
        Dim tOdbcCommand As OdbcCommand = _
                New OdbcCommand(tSQLString, tOdbcConnection)
        Try
            tOdbcConnection.Open()
            tOdbcCommand.ExecuteNonQuery()
            tOdbcConnection.Close()
        Catch pException As Exception
            MessageBox.Show(pException.Message)
        End Try
    End Sub
    Public Overrides Function ToString() As String
        Dim tStringBuilder As StringBuilder = New StringBuilder
        Dim tSQLString As String = "SELECT number FROM vehicles"
        Console.WriteLine(tSQLString)
        Dim tOdbcConnection As OdbcConnection = _
                New OdbcConnection(iConnectionString)
        Dim tOdbcCommand As OdbcCommand = _
                New OdbcCommand(tSQLString, tOdbcConnection)
        Try
            tOdbcConnection.Open()
            Dim tOdbcDataReader As OdbcDataReader = _
                    tOdbcCommand.ExecuteReader(CommandBehavior.SequentialAccess)
            While (tOdbcDataReader.Read())
                tStringBuilder.Append(tOdbcDataReader.GetString(0) & vbCrLf)
            End While
            tOdbcConnection.Close()
        Catch pException As Exception
            MessageBox.Show(pException.Message)
        End Try
        Return tStringBuilder.ToString()
    End Function
    Public Function Size() As Integer
        Dim tNumRows As Integer = 0
        Dim tSQLString As String = "SELECT number FROM vehicles"
        Console.WriteLine(tSQLString)
        Dim tOdbcConnection As OdbcConnection = _
                New OdbcConnection(iConnectionString)
        Dim tOdbcCommand As OdbcCommand = _
                New OdbcCommand(tSQLString, tOdbcConnection)
        Try
            tOdbcConnection.Open()
            Dim tOdbcDataReader As OdbcDataReader = _
                    tOdbcCommand.ExecuteReader(CommandBehavior.SequentialAccess)
            While (tOdbcDataReader.Read())
                tNumRows += 1
            End While
            tOdbcConnection.Close()
        Catch pException As Exception
            MessageBox.Show(pException.Message)
        End Try
        Return tNumRows
    End Function
End Class
