当然可以.OleDbDataReader只能向前读取,而OleDbDataAdapter更灵活.

解决方案 »

  1.   

    当然可以.OleDbDataReader只能向前读取,而OleDbDataAdapter更灵活.
    是这样的
      

  2.   

    为什么不用DataSet这个不是更直接,更好和dataGrid绑定吗。
    DataReader是循环读数据。
      

  3.   

    各位老大,别光说不练,我是想要代码的呀!!!也怪我没说清楚,劳烦把代码贴上啦!!!!
    TO: hxy51899(燕子) 小姐(?)你也给我你说的方法的代码好吧?
      

  4.   

    case "Access":
    rtnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
    rtnstr=String.Concat(rtnstr,path);
    tablename="UserTable";
    return(rtnstr);
    break;
    private void fillGrid(String par_caption,DataGrid par_dgd)
    {
    Dbopr tmp_dboprator =new Dbopr();
    try
    {
    String strsql=String.Concat("select ",sel_cols," from ",Dbopr.tablename,par_caption);
    //     DataRowCollection dra = Dbopr.Tables["UserTable"].Rows;
    // foreach (DataRow dr in dra)
    // {
    // // Print the CategoryID as a subscript, then the CategoryName:
    // Console.WriteLine("UserTable[{0}] is {1}", dr[0], dr[1]);
    // } par_dgd.DataSource = tmp_dboprator.BuildDt(strsql);
    par_dgd.DataMember = "rtntb";

    if (kiibg == false)
    {
    hideColumn(par_dgd);
    }
    }
    catch (Exception ex)
    {
    MessageBox.Show (ex.Message );
    }
    }
      

  5.   

    ms-help://MS.MSDNQTR.2003FEB.2052/vbcon/html/vbtskbindingthedatagridcontroltoanadodataset.htm
      

  6.   

    我给你一段代码吧,最简单的,顺便给你写一下注释。有的注释不一定对,因为我也会用,也说不出来是不是对,哈哈,你看有没有帮助吧。//定义一个字符串,保存连结ACCESS数据库要用到的引擎信息
    string strJet;
    strJet = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Inetpub\\wwwroot\\temp\\MyManage\\Data.mdb";//建一个连结对象
    OleDbConnection myconn = new OleDbConnection(strJet);
    //打开连结
    myconn.Open();OleDbDataAdapter myAdapter = new OleDbDataAdapter(strSql,myconn);
    DataSet ds = new DataSet();
    //把数据填充到ds中
    myAdapter.Fill(ds,"表名");
    myconn.Close();//接下来就是绑定到DataGrid中了
    DataGrid1.DataSource = ds.Tables["表名"].DefaultView;
    DataGrid1.DataBind();数据库地址你可以用Server.MapPath("Data.mdb")代替,也可以保存在xml文件中。你先用最简单的吧。