string connstr,selectcmd;
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MT.mdb;pwd=1;";
selectcmd="select * form admin where userpwd='"+textPwd.Text+"'";
OleDbConnection conn;
OleDbCommand cmd;
OleDbDataReader reader;
conn=new OleDbConnection(connstr);
conn.Open();
cmd=new OleDbCommand(selectcmd,conn);  //报错:未处理的System.Data.OleDb.OleDbException”
                                               类型的异常出现在 system.data.dll 中。
reader=cmd.ExecuteReader();
PS:using System.Data.OleDb;已经引用了!

解决方案 »

  1.   

    可能是连接串错误。
    access数据库的default user id应该是admin, password为空。
      

  2.   

    另外,数据库中应尽量避免使用user, admin, from, select等等数据库命令中可能使用的关键字,你的数据名称是admin。
      

  3.   

    connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MT.mdb;JET OLEDB:Database password=1;";
      

  4.   

    我改了,还是报错,selectcmd的值是有的!
      

  5.   

    可能不是连接上的错,错在这里:cmd=new OleDbCommand(selectcmd,conn);
      

  6.   

    connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MT.mdb;Persist Security Info=False;Jet OLEDB:Database Password=1";
      

  7.   

    还是报错,这次错误行是:reader=cmd.ExecuteReader();
      

  8.   

    为什么ACCESS中设置数据库密码后就连不上了呢?
    如果没有密码:connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MT.mdb;"这样写是可以连上的,但是有了密码:connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MT.mdb;Database Password=1";就连不上了,是我写的不对吗?