webconfig里
<add name="ConStr" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data source="/>
<add name="OLE" connectionString="~/db/BookShop.mdb;"/>
private static readonly string constr = System.Configuration.ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString + HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager.ConnectionStrings["OLE"].ConnectionString.Trim());public static OleDbFactory factory = OleDbFactory.Instance;//创建Access工厂对象public static OleDbConnection GetCon()
        {
            #region
            OleDbConnection cn = (OleDbConnection)factory.CreateConnection();//创建Access连接
              cn.ConnectionString = constr;
            cn.Open();
            return cn;
            #endregion
        }public OleDbDataReader Getdr(string strSql)
        {
            #region
            OleDbCommand cm = (OleDbCommand)factory.CreateCommand();
            cm.Connection = GetCon();
            cm.CommandText = strSql;
            cm.CommandType = CommandType.Text;
            OleDbDataReader dr = cm.ExecuteReader();错误:标准表达式中数据类型不匹配
            return dr;
            #endregion
        }请问是什么原因,怎么解决

解决方案 »

  1.   

    这是执行的语句----strSql = "SELECT ID,BSort,SSort,ShopName,Price2 FROM Shop ORDER BY ID DESC";
      

  2.   

    代码看起来没什么问题试着在access里面直接执行
    SELECT ID,BSort,SSort,ShopName,Price2 FROM Shop ORDER BY ID DESC
    试试然后看一下Exception倒底是哪个的Exception.
    是OleDbException还是Runtime的的Exception
      

  3.   

    单步跟踪一下,从错误提示来看,可能是SQL有问题,确认一下ID是不是数字.
      

  4.   

    这个问题解决了
    请问在Access里怎么屏蔽插入的
    <P>a</P>
    <P>a</P>
    <P>a</P>
    我想插入但是数据库好像不能查入