Csharp/C Sharp/Database ADO.net/OdbcCommand
Содержание
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>