转载C# Tutorials,ADOadosample.cs

发表于:2007-06-30来源:作者:点击数: 标签:
using System; using System.Data; using System.Data.ADO; public class MainClass { public static void Main () { // set Access connection and select strings string strAccessConn = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= Bug Types.MDB; st
using System;
using System.Data;
using System.Data.ADO;

public class MainClass
{
   public static void Main ()
   {
      // set Aclearcase/" target="_blank" >ccess connection and select strings
      string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BugTypes.MDB";
      string strAccessSelect = "SELECT * FROM Categories";

      //Create the dataset and add the Categories table to it
      DataSet myDataSet = new DataSet();
      myDataSet.Tables.Add("Categories");
      
      // create my Access objects
      ADOConnection myAccessConn = new ADOConnection(strAccessConn);
      ADODataSetCommand myAccessDataSetCmd = new ADODataSetCommand();
      myAccessDataSetCmd.SelectCommand = new ADOCommand(strAccessSelect,myAccessConn);

      myAccessConn.Open();
      try
      {
         myAccessDataSetCmd.FillDataSet(myDataSet,"Categories");
      }
      finally
      {
         myAccessConn.Close();
      }

      try
      {
         /* A dataSet can contain multiple tables,
           so let@#s get them all into an array */
         DataTable[] dta = myDataSet.Tables.All;
         foreach (DataTable dt in dta)
         {
            Console.WriteLine("Found data table {0}", dt.TableName);
         }
         
         /* The next two lines show two different ways
            you can get the count of tables in a dataset */
         Console.WriteLine("{0} tables in data set", myDataSet.Tables.Count);
         Console.WriteLine("{0} tables in data set", dta.Length);
         /* The next several lines show how to get information
            on a specific table by name from the dataset */
         Console.WriteLine("{0} rows in Categories table", myDataSet.Tables["Categories"].Rows.Count);
         /* The column info is automatically fetched from the
            database, so we can read it here */
         Console.WriteLine("{0} columns in Categories table", myDataSet.Tables["Categories"].Columns.Count);
         DataColumn[] drc = myDataSet.Tables["Categories"].Columns.All;
         int i = 0;
         foreach (DataColumn dc in drc)
         {
            /* Print the column subscript, then the
               column@#s name and its data type */
            Console.WriteLine("Column name[{0}] is {1}, of type {2}",i++ , dc.ColumnName, dc.DataType);
         }
         DataRow[] dra = myDataSet.Tables["Categories"].Rows.All;
         foreach (DataRow dr in dra)
         {
            /* Print the CategoryID as a subscript,
               then the CategoryName */
            Console.WriteLine("CategoryName[{0}] is {1}", dr[0], dr[1]);
         }
      }
      catch (Exception e)
      {
         Console.WriteLine("Oooops.  Caught an exception:\n{0}", e.Message);
      }
   }
}

原文转自:http://www.ltesting.net