RT    相信这个小问题大家很快就能帮忙搞定 谢谢~select [Mes.Name],[Mes.Title],[Mes.Content],[Mes.Publishdate],[Mes.ImageURL],[Reply.Name],[Reply.Content],[Reply.Returndate] from Mes left join Reply on Mes.ID=Reply.MesID"; 
路过的帮忙Up下  小弟谢过

解决方案 »

  1.   

            OleDbConnection conn = new OleDbConnection(myConn);
            conn.Open();
            OleDbDataAdapter odr = new OleDbDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            odr.Fill(ds);<------这里报错  表达式中的类型不匹配
      

  2.   

    你跟踪一下OleDbDataAdapter odr = new OleDbDataAdapter(sql, conn); 看看odr取出来东西没?
      

  3.   

    你说的那个跟踪的我不知道怎么跟踪我就调试一下在他上面设断点 在即使窗口是这样
    odr
    {System.Data.OleDb.OleDbDataAdapter}
        base {System.Data.Common.DbDataAdapter}: {System.Data.OleDb.OleDbDataAdapter}
        DeleteCommand: null
        InsertCommand: null
        SelectCommand: {System.Data.OleDb.OleDbCommand}
        UpdateCommand: null
    取出来了没有 我不知道怎么看 不过确实执行了查询语句
      

  4.   

    你在access中建立查询 将你的sql语句粘贴上 看看能不能执行
      

  5.   

    SELECT Mes.ID, Mes.Name, Mes.Title, Mes.Content, Mes.Publishdate, Reply.Name, Reply.Content, Reply.Returndate
    FROM Reply INNER JOIN Mes ON Reply.MesID = Mes.ID;我用视图生成查询语句 结果还是说表达式中的类型不匹配 sql语句肯定没错         OleDbConnection conn = new OleDbConnection(myConn); 
            conn.Open(); 
            OleDbDataAdapter odr = new OleDbDataAdapter(sql, conn); 
            DataSet ds = new DataSet(); 
            odr.Fill(ds); <------这里报错  表达式中的类型不匹配很可能这里就是LS说的读取不出来还是怎么的  各位高人求解啊~~
      

  6.   

    [Mes.Name]这样是不对的,[]内的会被当成列名,改成这样看看
    select a.[Name],a.[Title],a.[Content],a.[Publishdate],a.[ImageURL],b.[Name],b.[Content],b.[Returndate] 
    from Mes a left join Reply b on a.ID=b.MesID
      

  7.   

    第一点:看Reply.MesID = Mes.ID;中两个字段的类型是不是一样的
    第二点同10所说
      

  8.   

     Reply.MesID = Mes.ID;出错
    Reply表的MesID字段的类型跟Mes表的ID字段类型不彼配,检查一下这两个字段的类型是不是一样的