Csharp/C Sharp by API/System.Data.Odbc/OdbcCommand

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

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>