VB.Net/Database ADO.net/SqlConnection
Содержание
- 1 Connection state change event
 - 2 Display the information about the connection.
 - 3 Execute Non Query Example
 - 4 Info Message Event
 - 5 Obtain a pooled connection
 - 6 Parameterized Command Example
 - 7 Parse the SQL Server connection string and display the component configuration parameters.
 - 8 SQL Server Online Check
 
Connection state change event
 
Imports System
Imports System.Collections
Imports System.Data
Imports System.IO
Imports System.Xml.Serialization
Imports System.Xml
Imports System.Windows.Forms
Imports System.Data.SqlClient
Public Class MainClass
    Shared Dim WithEvents con As SqlConnection
    Shared Sub Main()
        con = New SqlConnection("Server=(local)\SQLEXPRESS;Initial Catalog=MyDatabase;Integrated Security=SSPI") 
        Dim cmd As New SqlCommand()
        cmd.rumandText = "SELECT TOP 5 FirstName, LastName FROM Employee"
        cmd.Connection = con
        Try
            con.Open()
            Dim reader As SqlDataReader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine( _
                       "{0} - {1}", reader.GetString(0), reader.GetString(1))
            End While
            reader.Close()
        Finally
            con.Close()
        End Try
    End Sub
    Shared Sub con_StateChange(ByVal Sender As Object, _
                 ByVal E As StateChangeEventArgs) Handles con.StateChange
        Console.WriteLine( _
                   "{0} - {1}", "ConnectionState", E.CurrentState.ToString())
    End Sub
End Class
Display the information about the connection.
  
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb
    Public Class MainClass
        Public Shared Sub SqlConnectionExample()
            Using con As New SqlConnection
                con.ConnectionString = "Data Source=.\sqlexpress;Database=AdventureWorks;Integrated Security=SSPI;"
                con.Open()
                If con.State = ConnectionState.Open Then
                    Console.WriteLine("SqlConnection Information:")
                    Console.WriteLine("  Connection State = " & con.State)
                    Console.WriteLine("  Connection String = " & con.ConnectionString)
                    Console.WriteLine("  Database Source = " & con.DataSource)
                    Console.WriteLine("  Database = " & con.Database)
                    Console.WriteLine("  Server Version = " & con.ServerVersion)
                    Console.WriteLine("  Workstation Id = " & con.WorkstationId)
                    Console.WriteLine("  Timeout = " & con.ConnectionTimeout)
                    Console.WriteLine("  Packet Size = " & con.PacketSize)
                Else
                    Console.WriteLine("SqlConenction failed to open.")
                    Console.WriteLine("  Connection State = " & con.State)
                End If
                con.Close()
            End Using
        End Sub
        Public Shared Sub OleDbConnectionExample()
            Using con As New OleDbConnection
                con.ConnectionString = "Provider=SQLOLEDB;Data Source=.\sqlexpress;Initial Catalog=AdventureWorks;Integrated Security=SSPI;"
                con.Open()
                If con.State = ConnectionState.Open Then
                    Console.WriteLine("OleDbConnection Information:")
                    Console.WriteLine("  Connection State = " & con.State)
                    Console.WriteLine("  Connection String = " & con.ConnectionString)
                    Console.WriteLine("  Database Source = " & con.DataSource)
                    Console.WriteLine("  Database = " & con.Database)
                    Console.WriteLine("  Server Version = " & con.ServerVersion)
                    Console.WriteLine("  Timeout = " & con.ConnectionTimeout)
                Else
                    Console.WriteLine("OleDbConnection failed to open.")
                    Console.WriteLine("  Connection State = " & con.State)
                End If
                con.Close()
            End Using
        End Sub
        Public Shared Sub Main()
            SqlConnectionExample()
            OleDbConnectionExample()
        End Sub
    End Class
Execute Non Query Example
  
Imports System
Imports System.Data
Imports System.Data.SqlClient
    Public Class MainClass
        Public Shared Sub ExecuteNonQueryExample(ByVal con As IDbConnection)
            Dim com As IDbCommand = con.CreateCommand
            com.rumandType = CommandType.Text
            com.rumandText = "UPDATE HumanResources.Employee SET Title = "Production Supervisor" WHERE EmployeeID = 24;"
            Dim result As Integer = com.ExecuteNonQuery
            Console.WriteLine(result)
        End Sub
        Public Shared Sub Main()
            Using con As New SqlConnection
                con.ConnectionString = "Data Source=.\sqlexpress;Database=AdventureWorks;Integrated Security=SSPI;"
                con.Open()
                ExecuteNonQueryExample(con)
                con.Close()
            End Using
        End Sub
    End Class
Info Message Event
 
Imports System
Imports System.Collections
Imports System.Data
Imports System.IO
Imports System.Xml.Serialization
Imports System.Windows.Forms
Imports System.Data.SqlClient
Public Class MainClass
    Shared Dim WithEvents con As SqlConnection
    Shared Sub Main()
        con = New SqlConnection("Server=(local)\SQLEXPRESS;Initial Catalog=master;Integrated Security=SSPI") 
        Dim cmd As New SqlCommand()
        cmd.rumandText = "PRINT("This raises an InfoMessage event")"
        cmd.Connection = con
        Try
            con.Open()
            cmd.ExecuteNonQuery()
        Finally
            con.Close()
        End Try
    End Sub
    Shared Sub con_InfoMessage(ByVal Sender As Object, _
                 ByVal E As SqlInfoMessageEventArgs) Handles con.InfoMessage
        Console.WriteLine( _
                   "{0} - {1}", "InfoMessage", E.Errors.Item(0).ToString())
    End Sub
End Class
Obtain a pooled connection
  
Imports System
Imports System.Data.SqlClient
    Public Class MainClass
        Public Shared Sub Main()
            Using con As New SqlConnection
                con.ConnectionString = "Data Source=.\sqlexpress;Database=AdventureWorks;Integrated Security=SSPI;Min Pool Size=5;Max Pool Size=15;Connection Reset=True;Connection Lifetime=600;"
                con.Open()
                con.Close()
            End Using
            Using con As New SqlConnection
                con.ConnectionString = "Data Source=.\sqlexpress;Database=AdventureWorks;Integrated Security=SSPI;Pooling=False;"
                con.Open()
                con.Close()
            End Using
        End Sub
    End Class
Parameterized Command Example
  
Imports System
Imports System.Data
Imports System.Data.SqlClient
    Public Class MainClass
        Public Shared Sub ParameterizedCommandExample(ByVal con As SqlConnection, ByVal employeeID As Integer, ByVal title As String)
            Using com As SqlCommand = con.CreateCommand
                com.rumandType = CommandType.Text
                com.rumandText = "UPDATE HumanResources.Employee SET Title = @title WHERE EmployeeID = @id;"
                Dim p1 As SqlParameter = com.CreateParameter
                p1.ParameterName = "@title"
                p1.SqlDbType = SqlDbType.VarChar
                p1.Value = title
                com.Parameters.Add(p1)
                com.Parameters.Add("@id", SqlDbType.Int).Value = employeeID
                Dim result As Integer = com.ExecuteNonQuery
                Console.WriteLine(result)
            End Using
        End Sub
        Public Shared Sub Main()
            Using con As New SqlConnection
                con.ConnectionString = "Data Source=.\sqlexpress;Database=AdventureWorks;Integrated Security=SSPI;"
                con.Open()
                ParameterizedCommandExample(con, 16, "Production Technician")
                con.Close()
            End Using
        End Sub
    End Class
Parse the SQL Server connection string and display the component configuration parameters.
  
Imports System
Imports System.Data.SqlClient
    Public Class MainClass
        Public Shared Sub Main()
            Dim conString As String = "Data Source=.\sqlexpress;Database=AdventureWorks;Integrated Security=SSPI;Min Pool Size=5;Max Pool Size=15;Connection Lifetime=600;"
            Dim sb1 As New SqlConnectionStringBuilder(conString)
            Console.WriteLine("  Database Source = " & sb1.DataSource)
            Console.WriteLine("  Database = " & sb1.InitialCatalog)
            Console.WriteLine("  Use Integrated Security = " & sb1.IntegratedSecurity)
            Console.WriteLine("  Min Pool Size = " & sb1.MinPoolSize)
            Console.WriteLine("  Max Pool Size = " & sb1.MaxPoolSize)
            Console.WriteLine("  Lifetime = " & sb1.LoadBalanceTimeout)
            Dim sb2 As New SqlConnectionStringBuilder(conString)
            sb2.DataSource = ".\sqlexpress"
            sb2.InitialCatalog = "AdventureWorks"
            sb2.IntegratedSecurity = True
            sb2.MinPoolSize = 5
            sb2.MaxPoolSize = 15
            sb2.LoadBalanceTimeout = 600
            Console.WriteLine(sb2.ConnectionString)
        End Sub
    End Class
SQL Server Online Check
  
Imports System.Windows.Forms
Imports System.Data.SqlClient
Imports System.Data
Public Class MainClass
    Public Shared Function IsSQLServerOnline(ByVal ServerAddress As String) As Boolean
        Try
            Dim objIPHost As New System.Net.IPHostEntry()
            objIPHost = System.Net.Dns.Resolve(ServerAddress)
            Dim objAddress As System.Net.IPAddress
            objAddress = objIPHost.AddressList(0)
            Dim objTCP As System.Net.Sockets.TcpClient = New System.Net.Sockets.TcpClient()
            objTCP.Connect(objAddress, 1433)
            objTCP.Close()
            objTCP = Nothing
            objAddress = Nothing
            objIPHost = Nothing
            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function
    Public Shared Sub Main()
        If IsSQLServerOnline("127.0.0.1") Then
            System.Console.WriteLine("Can connect to server!")
        Else
            System.Console.WriteLine("Server not available!")
        End If
    End Sub
End Class