部分语句
string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(".") + "..\\user.mdb;";
myConn = new OleDbConnection(strConnection);
mySel="SELECT count(*) FROM user where UserId='"+userid+"'";
OleDbCommand myCmd1=new OleDbCommand(mySel,myConn);
myConn.Open();
myCmd1.Connection.Open();
OleDbDataReader Dr1=myCmd1.ExecuteReader();根据提示出错的地方是
OleDbDataReader Dr1=myCmd1.ExecuteReader();
意味着
mySel="SELECT count(*) FROM user where UserId='"+userid+"'";
有问题,但是我也用label输出mySel这个变量,没发现出什么问题啊,
求各位大侠指导下。

解决方案 »

  1.   

    user 表存在吗
    SELECT count(*) FROM user 这句在数据中执行通过了吗?
      

  2.   

    可能是类型问题,UserId是什么类型?
    这样试试
    mySel="SELECT count(*) FROM user where UserId="+userid;
      

  3.   

    OleDbConnection myConn; //....
    myConn.Open();
    mySel="SELECT count(*) as cnt FROM user where UserId='"+userid+"'";
    OleDbCommand myCmd1=new OleDbCommand(mySel,myConn);OleDbDataReader Dr1=myCmd1.ExecuteReader();Response.Write(Dr1["cnt"].ToString());myConn.Close();
      

  4.   

    该ACCESS数据库是access2000格式,会不会有问题?
      

  5.   

    UseriD是字符串,但是SQL中需要双引号把他包括起来,liaocmos中的as cnt只是增加了赋值变量,我也用过,没用。她出现的错误时from子句错误。
      

  6.   

    user 应该是关键词 加 [user] 这样..试下.
      

  7.   

    能追踪一下看看到底sql中执行了什么吗?
      

  8.   

    问题解决了,谢谢,YSN1314和phi1999说的对,加上中括号,问题解决了,