Csharp/C Sharp/Database ADO.net/ODBC

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

ODBC connection

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


Odbc Error Handler

<source lang="csharp"> using System; using System.Diagnostics; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; using System.Data.Odbc;

public class MainClass {

   [STAThread]
   static void Main() {
       OdbcConnection cn;
       try {
           cn = new OdbcConnection();
           cn.ConnectionString = "driver={SQL Serve};server=.;uid=admin;pwd=pw;database=biblio";
           cn.Open();
       } catch (OdbcException ex) {
           if (ex.InnerException != null) {
               Debug.WriteLine("InnerException:" + ex.InnerException.Message);
           }
           MessageBox.Show(ex.ToString());
           Debug.WriteLine("Message:" + ex.Message.ToString());
           Debug.WriteLine("Source:" + ex.Source.ToString());
           Debug.WriteLine("StackTrace:" + ex.StackTrace.ToString());
           Debug.WriteLine("TargetSite:" + ex.TargetSite.ToString()); // Not in OleDB
           if (ex.HelpLink != null) {
               Debug.WriteLine("HelpLink:" + ex.HelpLink);
           }
       }
   }

}

</source>