Csharp/C Sharp by API/System.Data.Odbc/OdbcCommand
new OdbcCommand
<source lang="csharp"> using System; using System.Data; using System.Data.Odbc; class OdbcProvider {
static void Main(string[] args) { string connString = @"dsn=northwindodbc"; string sql = @"select * from employees"; OdbcConnection conn = null; OdbcDataReader reader = null; try { conn = new OdbcConnection(connString); conn.Open(); OdbcCommand cmd = new OdbcCommand(sql, conn); reader = cmd.ExecuteReader(); Console.WriteLine( "Querying database {0} with query {1}\n" , conn.Database , cmd.rumandText ); Console.WriteLine("First Name\tLast Name\n"); while(reader.Read()) { Console.WriteLine( "{0} | {1}" , reader["FirstName"].ToString().PadLeft(10) , reader[1].ToString().PadLeft(10) ); } } catch (Exception e) { Console.WriteLine("Error: " + e); } finally { reader.Close(); conn.Close(); } }
}
</source>
OdbcCommand.CommandText
<source lang="csharp"> using System; using System.Data; using System.Data.Odbc;
class CommandOdbcExample{ static void Main() { OdbcConnection thisConnection = new OdbcConnection("DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=test;UID=root;PASSWORD=;"); OdbcCommand nonqueryCommand = thisConnection.CreateCommand(); try { thisConnection.Open(); nonqueryCommand.rumandText = "CREATE TABLE MyTable (MyName VARCHAR (30), MyNumber integer)"; Console.WriteLine(nonqueryCommand.rumandText); nonqueryCommand.ExecuteNonQuery(); nonqueryCommand.rumandText = "INSERT INTO MyTable VALUES (?, ?)"; nonqueryCommand.Parameters.Add("@MyName", OdbcType.VarChar, 30); nonqueryCommand.Parameters.Add("@MyNumber", OdbcType.Int); // nonqueryCommand.Prepare(); string[] names = { "A", "B", "C", "D" } ; int i; for (i=1; i<=4; i++){ nonqueryCommand.Parameters["@MyName"].Value = names[i-1]; nonqueryCommand.Parameters["@MyNumber"].Value = i; Console.WriteLine(nonqueryCommand.rumandText); Console.WriteLine("Number of Rows Affected is: {0}", nonqueryCommand.ExecuteNonQuery()); } nonqueryCommand.rumandText = "SELECT MyName, MyNumber FROM MyTable"; OdbcDataReader thisReader = nonqueryCommand.ExecuteReader(); while (thisReader.Read()) { Console.WriteLine("Name and Number: {0} {1}", thisReader.GetValue(0), thisReader.GetValue(1)); } thisReader.Close(); nonqueryCommand.rumandText = "DROP TABLE MyTable"; nonqueryCommand.ExecuteNonQuery(); } catch (OdbcException ex) { Console.WriteLine(ex.ToString()); } finally { thisConnection.Close(); Console.WriteLine("Connection Closed."); } } } </source>
OdbcCommand.Parameters.Add
<source lang="csharp"> using System; using System.Data; using System.Data.Odbc;
class CommandOdbcExample{ static void Main() { OdbcConnection thisConnection = new OdbcConnection("DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=test;UID=root;PASSWORD=;"); OdbcCommand nonqueryCommand = thisConnection.CreateCommand(); try { thisConnection.Open(); nonqueryCommand.rumandText = "CREATE TABLE MyTable (MyName VARCHAR (30), MyNumber integer)"; Console.WriteLine(nonqueryCommand.rumandText); nonqueryCommand.ExecuteNonQuery(); nonqueryCommand.rumandText = "INSERT INTO MyTable VALUES (?, ?)"; nonqueryCommand.Parameters.Add("@MyName", OdbcType.VarChar, 30); nonqueryCommand.Parameters.Add("@MyNumber", OdbcType.Int); // nonqueryCommand.Prepare(); string[] names = { "A", "B", "C", "D" } ; int i; for (i=1; i<=4; i++){ nonqueryCommand.Parameters["@MyName"].Value = names[i-1]; nonqueryCommand.Parameters["@MyNumber"].Value = i; Console.WriteLine(nonqueryCommand.rumandText); Console.WriteLine("Number of Rows Affected is: {0}", nonqueryCommand.ExecuteNonQuery()); } nonqueryCommand.rumandText = "SELECT MyName, MyNumber FROM MyTable"; OdbcDataReader thisReader = nonqueryCommand.ExecuteReader(); while (thisReader.Read()) { Console.WriteLine("Name and Number: {0} {1}", thisReader.GetValue(0), thisReader.GetValue(1)); } thisReader.Close(); nonqueryCommand.rumandText = "DROP TABLE MyTable"; nonqueryCommand.ExecuteNonQuery(); } catch (OdbcException ex) { Console.WriteLine(ex.ToString()); } finally { thisConnection.Close(); Console.WriteLine("Connection Closed."); } } } </source>