myDataSet.Tables.Add("emp_code"); 这句话有什么意义?
去掉吧!

解决方案 »

  1.   

    using System.Data.OleDb; 
    是不是下面这句话不对,你确定对吗,我知道SQL的是
    using System.Data.Client;
    如果不写会出现和你同样的错误
      

  2.   

    对于Access数据库就用using System.Data.OleDb
      

  3.   

    这句话有问题: string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c://db1.MDB"; 路径改为
     string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.MDB"; 
    下面这行去掉
     myAccessConn.Open();
      

  4.   

    to:TheAres(班门斧) 
       照你说的改了还是不行,你有没测试过呀?
      

  5.   

    这是我的显示结果. 后面是程序. 如果不行,你把前面注释的部分打开,看看有没有连接数据库成功.Found data table Categories
    1 tables in data set
    1 tables in data set
    3 rows in Categories table
    CategoryName[a] is b
    CategoryName[1] is
    CategoryName[2] isusing System;
    using System.Data;
    using System.Data.OleDb;namespace CSDNConsoleCS
    {
    public class MainClass
    {
    public static void Main ()
    {
    // 设定好连接字符串和选择命令字符串010: 
    string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\1.MDB";
    string strAccessSelect = "SELECT * FROM Categories"; OleDbConnection conn = new OleDbConnection(strAccessConn);// try
    // {
    // conn.Open();
    // conn.Close();
    // }
    // catch(Exception ex)
    // {
    // Console.WriteLine(ex.ToString());
    // } //建立记录集,并把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);
    try
    {
    myAccessDataSetCmd.Fill(myDataSet,"Categories");
    }
    catch(Exception ex)
    {
    Console.WriteLine(ex.ToString());
    }
    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);
    }
    Console.ReadLine();
    }
    }}