老哥,你有拷贝了Beta版本的代码来了。
 
>>using System.Data.ADO 
改为: using System.Data.OldDb后面也有几个要改的,你还不如放弃这段代码,看看MSDN中的简单帮助。

解决方案 »

  1.   

    DotNet framework类库并不存在System.Data.ADO类、所以会出错。
      

  2.   

    to:TheAres(班门斧)
    我按你说的改了还是一样的错误呀,为什么??????
      

  3.   

    to:TheAres(班门斧)
        是不是后面的代码都要改?有哪些地方要改?应怎么改?
        耐请再次赐教
      

  4.   

    以下代码示例演示如何创建和打开与 OLE DB 数据源的连接。OleDbConnection nwindConn = new OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;" +
                                                    "Integrated Security=SSPI;Initial Catalog=northwind");
    nwindConn.Open();多个结果集
    如果返回的是多个结果集,DataReader 会提供 NextResult 方法来按顺序循环访问这些结果集,如以下代码示例所示。[Visual Basic]
    Dim myCMD As SqlCommand = New SqlCommand("SELECT CategoryID, CategoryName FROM Categories;" & _
                                             "SELECT EmployeeID, LastName FROM Employees", nwindConn)
    nwindConn.Open()//使用 DataReader 检索数据SqlCommand myCMD = new SqlCommand("SELECT CategoryID, CategoryName FROM Categories;" +
                                      "SELECT EmployeeID, LastName FROM Employees", nwindConn);
    nwindConn.Open();SqlDataReader myReader = myCMD.ExecuteReader();do
    {
      Console.WriteLine("\t{0}\t{1}", myReader.GetName(0), myReader.GetName(1));  while (myReader.Read())
        Console.WriteLine("\t{0}\t{1}", myReader.GetInt32(0), myReader.GetString(1));} while (myReader.NextResult());myReader.Close();
    nwindConn.Close();
      

  5.   

    以下代码示例演示如何创建和打开与 OLE DB 数据源的连接。OleDbConnection nwindConn = new OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;" +
                                                    "Integrated Security=SSPI;Initial Catalog=northwind");
    nwindConn.Open();//使用 DataReader 检索数据SqlCommand myCMD = new SqlCommand("SELECT CategoryID, CategoryName FROM Categories;" +
                                      "SELECT EmployeeID, LastName FROM Employees", nwindConn);
    nwindConn.Open();SqlDataReader myReader = myCMD.ExecuteReader();do
    {
      Console.WriteLine("\t{0}\t{1}", myReader.GetName(0), myReader.GetName(1));  while (myReader.Read())
        Console.WriteLine("\t{0}\t{1}", myReader.GetInt32(0), myReader.GetString(1));} while (myReader.NextResult());myReader.Close();
    nwindConn.Close();
      

  6.   

    TO zhendexiangni (初学者):这个代码错误太多,给你修改过来了.你自己对照看看就明白了,不明白的地方,可以接着问.
    using System;
    using System.Data;
    using System.Data.OleDb;namespace CSDNWinFormCS
    {
    public class MainClass
    {
    public static void lMain ()
    {
    // 设定好连接字符串和选择命令字符串010: 
    string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BugTypes.MDB";
    string strAccessSelect = "SELECT * FROM Categories"; //建立记录集,并把Categories这个表填进去
    DataSet myDataSet = new DataSet();
    myDataSet.Tables.Add("Categories");
    //建立ADO实例018: 
    OleDbConnection myAccessConn = new OleDbConnection(strAccessConn);
    OleDbDataAdapter myAccessDataSetCmd = new OleDbDataAdapter();
    myAccessDataSetCmd.SelectCommand = new OleDbCommand(strAccessSelect,myAccessConn);
    myAccessConn.Open();
    try
    {
    myAccessDataSetCmd.Fill(myDataSet,"Categories");
    }
    finally
    {
    myAccessConn.Close();
    } try
    {
    // 一个记录集可以包含多个表,我们把它们放到一个数组中035: 
     
    foreach (DataTable dt in myDataSet.Tables)
    {
    Console.WriteLine("Found data table {0}", dt.TableName);
    } //下面的两行程序展示了两种从一个记录集中得到这个数据集中的表格数的方法
    Console.WriteLine("{0} tables in data set", myDataSet.Tables.Count);
    Console.WriteLine("{0} tables in data set", myDataSet.Tables.Count);
    //下面的几行程序说明了如何从一个记录集中依靠表格的名称来取得信息
    Console.WriteLine("{0} rows in Categories table", myDataSet.Tables["Categories"].Rows.Count);
    //列的信息是自动从数据库中得到的,所以我们可以用以下的代码047: Console.WriteLine("{0} columns in Categories table", myDataSet.Tables["Categories"].Columns.Count);
    DataColumnCollection drc = myDataSet.Tables["Categories"].Columns;
    int i = 0;
    foreach (DataColumn dc in drc)
    {
    //打印出列的下标和列的名称和数据类型053: Console.WriteLine("Column name[{0}] is {1}, of type {2}",i++ , dc.ColumnName, dc.DataType);
    }
    DataRowCollection dra = myDataSet.Tables["Categories"].Rows;
    foreach (DataRow dr in dra)
    {
    //打印出CategoryID和CategoryName059: 
    Console.WriteLine("CategoryName[{0}] is {1}", dr[0], dr[1]);
    }
    }
    catch (Exception e)
    {
    Console.WriteLine("Oooops. Caught an exception:\n{0}", e.Message);
    }
    }
    }
    }
      

  7.   

    to:TheAres(班门斧)
         我按你写的改了,但运行时还是出错。
        错误代码为:“myAccessDataSetCmd.Fill(myDataSet,"Categories");”
        错误提示为:“未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 system.data.dll 中”
        请问是什么原因啊???
      

  8.   

    你的bin\debug目录下是不是没有BugTypes.MDB?
    去掉这一行
     myAccessConn.Open();