Csharp/C Sharp/Database ADO.net/OdbcCommand

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

Create database through OdbcCommand

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


OleDbConnection: ConnectionTimeout

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


Pass parameters to OdbcCommand

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


Read query result from OdbcCommand

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