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

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

new OdbcCommand

  
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();
      }
   }
}


OdbcCommand.CommandText

  
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.");
         }
      }
   }


OdbcCommand.Parameters.Add

  
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.");
         }
      }
   }