Imports System.Data
Imports System.Data.SqlClient
Public Class GetRowCount
    Inherits System.ComponentModel.Component

    Public Function GetRowCount() As Integer
        Try
            Dim connString As String
            ' Pamiętasz omówienie metody String.Intern z
            ' rozdziału 11? Jeśli dany łańcuch już istnieje
            ' i reprezentuje tę samą wartość, zamiast
            ' tworzenia nowego egzemplarza zostanie
            ' wykorzystana istniejąca lokalizacja w pamięci.
            connString = "server=(local);database=Nowinki;TRUSTED_CONNECTION=Yes"
            Dim conn As New SqlConnection(connString)
            Dim cmd As New SqlCommand("select count(*) from tblKlienci", conn)
            conn.Open()
            Dim dReader As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)

            While dReader.Read
                ' Odczytaj pierwszy i jedyny wiersz ze zbioru
                ' wynikowego.
                GetRowCount = dReader.GetValue(0)
            End While

            dReader.Close()
            conn.Close()
        Catch
            System.Console.WriteLine("An error has occured " & Err.Description)
        End Try
    End Function

#Region " Kod wygenerowany przez Component Designera "

    Public Sub New(ByVal Container As System.ComponentModel.IContainer)
        MyClass.New()

        ' Wymagane do obsługi Windows.Forms Class Composition Designera
        Container.Add(Me)
    End Sub

    Public Sub New()
        MyBase.New()

        ' To wywołanie jest wymagane przez Component Designera.
        InitializeComponent()

        ' Dodaj dowolne operacje inicjalizacji po wywołaniu metody InitializeComponent()

    End Sub

    ' Komponent przykrywa metodę Dispose aby wyczyścić listę komponentów.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    ' Wymagane przez Component Designera
    Private components As System.ComponentModel.IContainer

    ' UWAGA: Poniższa procedura jest wymagana przez Component Designera.
    ' Można ją modyfikować wyłącznie za pomocą Component Designera.
    ' Nie należy jej modyfikować w edytorze kodu.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        components = New System.ComponentModel.Container
    End Sub

#End Region

End Class
