VB.Net by API/System.Data.Odbc/OdbcCommand

Материал из VB Эксперт
Перейти к: навигация, поиск

OdbcCommand.CommandText

<source lang="vbnet"> Imports System Imports System.Data Imports System.Data.Odbc Module CommandOdbcExample

  Sub Main()
     Dim thisConnection As New OdbcConnection _
        ("dsn=MyOdbc")
     Dim nonqueryCommand As OdbcCommand = thisConnection.CreateCommand()
     Try
        thisConnection.Open()
        Console.WriteLine("Connection Opened")
        nonqueryCommand.rumandText = "CREATE TABLE MyTable " & _
           "(MyName VARCHAR (30), MyNumber integer)"
        Console.WriteLine("Executing {0}", _
           nonqueryCommand.rumandText)
        Console.WriteLine("Number of rows affected : {0}", _
           nonqueryCommand.ExecuteNonQuery())
        nonqueryCommand.rumandText = "INSERT INTO MyTable VALUES (?, ?)"
        nonqueryCommand.Parameters.Add("@MyName", OdbcType.VarChar, 30)
        nonqueryCommand.Parameters.Add("@MyNumber", OdbcType.Int)
        " Prepare command not supported in ODBC
        " nonqueryCommand.Prepare()
        " Data to be inserted
        Dim names() As String = {"Z", "S", "J", "D"}
        For i As Integer = 1 To 4
           nonqueryCommand.Parameters("@MyName").Value = names(i - 1)
           nonqueryCommand.Parameters("@MyNumber").Value = i
           Console.WriteLine("Executing {0}", _
              nonqueryCommand.rumandText)
           Console.WriteLine("Number of rows affected : {0}", _
              nonqueryCommand.ExecuteNonQuery())
        Next i
        nonqueryCommand.rumandText = _
           "SELECT MyName, MyNumber FROM MyTable"
        Dim thisReader As OdbcDataReader = nonqueryCommand.ExecuteReader()
        While (thisReader.Read())
           Console.WriteLine("Name and Number: {0} {1}", _
              thisReader.GetValue(0), thisReader.GetValue(1))
        End While
        thisReader.Close()
        nonqueryCommand.rumandText = "DROP TABLE MyTable"
        nonqueryCommand.ExecuteNonQuery()
     Catch ex As OdbcException
        " Display error
        Console.WriteLine("Error: " & ex.ToString())
     Finally
        " Close Connection
        thisConnection.Close()
        Console.WriteLine("Connection Closed")
     End Try
  End Sub

End Module


 </source>


OdbcCommand.ExecuteNonQuery()

<source lang="vbnet"> Imports System Imports System.Data Imports System.Data.Odbc Module CommandOdbcExample

  Sub Main()
     Dim thisConnection As New OdbcConnection _
        ("dsn=MyOdbc")
     Dim nonqueryCommand As OdbcCommand = thisConnection.CreateCommand()
     Try
        thisConnection.Open()
        Console.WriteLine("Connection Opened")
        nonqueryCommand.rumandText = "CREATE TABLE MyTable " & _
           "(MyName VARCHAR (30), MyNumber integer)"
        Console.WriteLine("Executing {0}", _
           nonqueryCommand.rumandText)
        Console.WriteLine("Number of rows affected : {0}", _
           nonqueryCommand.ExecuteNonQuery())
        nonqueryCommand.rumandText = "INSERT INTO MyTable VALUES (?, ?)"
        nonqueryCommand.Parameters.Add("@MyName", OdbcType.VarChar, 30)
        nonqueryCommand.Parameters.Add("@MyNumber", OdbcType.Int)
        " Prepare command not supported in ODBC
        " nonqueryCommand.Prepare()
        " Data to be inserted
        Dim names() As String = {"Z", "S", "J", "D"}
        For i As Integer = 1 To 4
           nonqueryCommand.Parameters("@MyName").Value = names(i - 1)
           nonqueryCommand.Parameters("@MyNumber").Value = i
           Console.WriteLine("Executing {0}", _
              nonqueryCommand.rumandText)
           Console.WriteLine("Number of rows affected : {0}", _
              nonqueryCommand.ExecuteNonQuery())
        Next i
        nonqueryCommand.rumandText = _
           "SELECT MyName, MyNumber FROM MyTable"
        Dim thisReader As OdbcDataReader = nonqueryCommand.ExecuteReader()
        While (thisReader.Read())
           Console.WriteLine("Name and Number: {0} {1}", _
              thisReader.GetValue(0), thisReader.GetValue(1))
        End While
        thisReader.Close()
        nonqueryCommand.rumandText = "DROP TABLE MyTable"
        nonqueryCommand.ExecuteNonQuery()
     Catch ex As OdbcException
        " Display error
        Console.WriteLine("Error: " & ex.ToString())
     Finally
        " Close Connection
        thisConnection.Close()
        Console.WriteLine("Connection Closed")
     End Try
  End Sub

End Module


 </source>


OdbcCommand.Parameters.Add

<source lang="vbnet"> Imports System Imports System.Data Imports System.Data.Odbc Module CommandOdbcExample

  Sub Main()
     Dim thisConnection As New OdbcConnection _
        ("dsn=MyOdbc")
     Dim nonqueryCommand As OdbcCommand = thisConnection.CreateCommand()
     Try
        thisConnection.Open()
        Console.WriteLine("Connection Opened")
        nonqueryCommand.rumandText = "CREATE TABLE MyTable " & _
           "(MyName VARCHAR (30), MyNumber integer)"
        Console.WriteLine("Executing {0}", _
           nonqueryCommand.rumandText)
        Console.WriteLine("Number of rows affected : {0}", _
           nonqueryCommand.ExecuteNonQuery())
        nonqueryCommand.rumandText = "INSERT INTO MyTable VALUES (?, ?)"
        nonqueryCommand.Parameters.Add("@MyName", OdbcType.VarChar, 30)
        nonqueryCommand.Parameters.Add("@MyNumber", OdbcType.Int)
        " Prepare command not supported in ODBC
        " nonqueryCommand.Prepare()
        " Data to be inserted
        Dim names() As String = {"Z", "S", "J", "D"}
        For i As Integer = 1 To 4
           nonqueryCommand.Parameters("@MyName").Value = names(i - 1)
           nonqueryCommand.Parameters("@MyNumber").Value = i
           Console.WriteLine("Executing {0}", _
              nonqueryCommand.rumandText)
           Console.WriteLine("Number of rows affected : {0}", _
              nonqueryCommand.ExecuteNonQuery())
        Next i
        nonqueryCommand.rumandText = _
           "SELECT MyName, MyNumber FROM MyTable"
        Dim thisReader As OdbcDataReader = nonqueryCommand.ExecuteReader()
        While (thisReader.Read())
           Console.WriteLine("Name and Number: {0} {1}", _
              thisReader.GetValue(0), thisReader.GetValue(1))
        End While
        thisReader.Close()
        nonqueryCommand.rumandText = "DROP TABLE MyTable"
        nonqueryCommand.ExecuteNonQuery()
     Catch ex As OdbcException
        " Display error
        Console.WriteLine("Error: " & ex.ToString())
     Finally
        " Close Connection
        thisConnection.Close()
        Console.WriteLine("Connection Closed")
     End Try
  End Sub

End Module


 </source>


OleDbCommand.CommandText

<source lang="vbnet"> Imports System Imports System.Data Imports System.Data.SqlClient Imports System.Collections Imports System.Windows.Forms Imports System.Resources Public Class MainClass

   Shared Dim OleDbConnection As System.Data.OleDb.OleDbConnection
   Shared Dim AddressBookDataAdapter As System.Data.OleDb.OleDbDataAdapter
   Shared Sub Main()
      Connect()
      Display()
      
      Dim FirstName As String = "New Name"
      Dim ID As String = "1"
      Dim OleDbUpdateCommand As System.Data.OleDb.OleDbCommand
      OleDbUpdateCommand = new System.Data.OleDb.OleDbCommand
      
      OleDbUpdateCommand.rumandText = "UPDATE Employee SET firstName=" & _
              """ & FirstName & "" WHERE id=" & ID & " ;  "
      OleDbUpdateCommand.Connection = OleDbConnection
      AddressBookDataAdapter.UpdateCommand = OleDbUpdateCommand
      AddressBookDataAdapter.UpdateCommand.ExecuteNonQuery()
      Display()
      Disconnect()
   End Sub
   Shared Sub Display()
      Dim OleDbSelectCommand As System.Data.OleDb.OleDbCommand
      OleDbSelectCommand = New System.Data.OleDb.OleDbCommand()
      OleDbSelectCommand.rumandText = "SELECT ID, FirstName, LastName,Salary FROM Employee"
      OleDbSelectCommand.Connection = OleDbConnection
      AddressBookDataAdapter = New System.Data.OleDb.OleDbDataAdapter()
      AddressBookDataAdapter.SelectCommand = OleDbSelectCommand
      Dim AddressBookDataSet As System.Data.DataSet
      AddressBookDataSet = New System.Data.DataSet()
      CType(AddressBookDataSet, System.ruponentModel.ISupportInitialize).BeginInit()
      AddressBookDataAdapter.Fill(AddressBookDataSet)
        Dim dataTable As DataTable = AddressBookDataSet.Tables(0)
        " ensure dataTable not empty
        If dataTable.Rows.Count <> 0 Then
           Dim recordNumber As Integer = Convert.ToInt32(dataTable.Rows(0)(0))
           Console.Write( recordNumber.ToString & "  ")
           Console.Write( Convert.ToString(dataTable.Rows(0)(1)) & "  ")
           Console.Write( Convert.ToString(dataTable.Rows(0)(2)) & "  ")
           Console.Write( Convert.ToString(dataTable.Rows(0)(3)) & "  ")
           " display not-found message
        Else
           Console.WriteLine( "No record found" )
        End If
        Console.WriteLine(  )
   End Sub
   Shared Sub Connect()
     OleDbConnection = New System.Data.OleDb.OleDbConnection()
     OleDbConnection.ConnectionString = _
        "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";" & _
        "User ID=Admin;Data Source=Employee.mdb;Mode=Sha" & _
        "re Deny None;Extended Properties="""";" & _
        "Jet OLEDB:System database="""";Jet OLEDB:Regis" & _
        "try Path="""";Jet OLEDB:Database Password="""";" & _
        "Jet OLEDB:Engine Type=5;Jet OLEDB:Dat" & _
        "abase Locking Mode=1;Jet OLEDB:Global Partial " & _
        "Bulk Ops=2;Jet OLEDB:Global Bulk T" & _
        "ransactions=1;Jet OLEDB:New Database " & _
        "Password="""";Jet OLEDB:Create System Databas" & _
        "e=False;Jet OLEDB:Encrypt Database=False;" & _
        "Jet OLEDB:Don"t Copy Locale on Compact=" & _
        "False;Jet OLEDB:Compact Without Replica " & _
        "Repair=False;Jet OLEDB:SFP=False"
     Try
        OleDbConnection.Open()
     Catch ex As Exception
        Console.WriteLine(ex.Message)
     End Try
   End Sub
   Shared Sub Disconnect()
     Try
        OleDbConnection.Close()
     Catch ex As Exception
        Console.WriteLine(ex.Message)
     End Try
   End Sub

End Class


 </source>


OleDbCommand.ExecuteReader()

<source lang="vbnet">

Imports System.Data Module Test

   Sub Main()
       Dim sConnectionString, sSQL As String
       
     sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\yourdatabase.mdb"
       sSQL = "SELECT Title FROM yourTable"
       Dim conn As New System.Data.OleDb.OleDbConnection(sConnectionString)
       Dim cmd As New System.Data.OleDb.OleDbCommand(sSQL, conn)
       Dim dr As System.Data.OleDb.OleDbDataReader
       conn.Open()
       dr = cmd.ExecuteReader()
       Do While dr.Read()
           System.Console.WriteLine(dr.Item("Title"))
       Loop
       dr.Close()
       conn.Close()
   End Sub

End Module


 </source>