Use command parameter for Odbc connection
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.CommandText = "CREATE TABLE MyTable " & _
"(MyName VARCHAR (30), MyNumber integer)"
Console.WriteLine("Executing {0}", _
nonqueryCommand.CommandText)
Console.WriteLine("Number of rows affected : {0}", _
nonqueryCommand.ExecuteNonQuery())
nonqueryCommand.CommandText = "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.CommandText)
Console.WriteLine("Number of rows affected : {0}", _
nonqueryCommand.ExecuteNonQuery())
Next i
nonqueryCommand.CommandText = _
"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.CommandText = "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
Related examples in the same category