Csharp/C Sharp/Database ADO.net/OdbcCommand

Материал из .Net Framework эксперт
Версия от 14:42, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Create database through OdbcCommand

<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>


OleDbConnection: ConnectionTimeout

<source lang="csharp"> using System; using System.Data; using System.Data.SqlClient; using System.Data.OleDb; class MainClass {

   public static void Main() {
       using (OleDbConnection con = new OleDbConnection()) {
           con.ConnectionString = "Provider=SQLOLEDB;" +     
               @"Data Source=.\sqlexpress;" + 
               "Initial Catalog=Northwind;" + 
               "Integrated Security=SSPI";    
           con.Open();
           if (con.State == ConnectionState.Open) {
               Console.WriteLine("  Timeout = " + con.ConnectionTimeout);
           } else {
               Console.WriteLine("OleDbConnection failed to open.");
               Console.WriteLine("  Connection State = " + con.State);
           }
       }
   }

}

</source>


Pass parameters to OdbcCommand

<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>


Read query result from OdbcCommand

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