没有啊,我上面直接就NEW了一个,还没有OPEN啊,况且,我去掉OPEN后,状态显示的是CLOSE啊!!
摆脱

解决方案 »

  1.   

    以下是我的代码:
    private void Page_Load(object sender, System.EventArgs e)
    {
    OleDbConnection cn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;"+"Data Source="+Server.MapPath("along.mdb"));
    cn.Open();
    Message.Text=cn.State.ToString();
    }
      

  2.   

    不会有错呀
    我简单在我这里实验了一下
    SqlConnection con=new SqlConnection("server=zhangzs;database=test;uid=sa;pwd=");
    string str="select name as 姓名,no as 编号,zhuzhi as 住址,dep as 部门,xueli as 学历,bynf as 毕业年份 from staff_inf";
    con.Open();
    Btn_excel.Text=con.State.ToString(); //放在这个位置则显示Open
    SqlCommand cmd =new SqlCommand(str,con);
    DataGrid2.DataSource=cmd.ExecuteReader();
    DataGrid2.DataBind();
    con.Close();Btn_excel.Text=con.State.ToString(); //放在这里则显示closed你的代码就那些吗?
      

  3.   

    你先看看你的VS的服务器资源那里,对along.mdb的连接关闭了没有,这一点让人十万分讨厌,为了这点才拒绝做MDB数据库的.测试前和运行错误后都要手动关了那连接,不然100%出错,让人十分讨厌你的连接没错,主要是VS的原因 ,开发中总不免会连接到数据库,一下子忘了关就去测试 的话,就会报错
      

  4.   

    谢谢,首先,我用了SQL SERVER也出现了类似的问题,说数据库打不开,我明明是测试成功的。
    其次,我关掉了服务器资源中的对数据库的连接,但却出现了这个问题:没有可用的错误信息: REGDB_E_CLASSNOTREG(0x80040154).
    [InvalidOperationException: 未在本地计算机上注册“Microsft.Jet.OLEDB.4.0”提供程序。]请帮忙,我急用!谢谢
      

  5.   

    谢谢ajqc(ajqc) ,我解决了!