下面表达式在sqlserver2000中运用是正常的,现在现在换用access就提示“标准表达式中数据类型不匹配”,请问要怎么修改才能在sqlserver2000与access中都能正常运行呀?string SqlStr;
SqlStr="SELECT users_mst.name, users_mst.nickname, users_mst.class, users_mst.SEnote, users_mst.REnote, users_mst.rgdate," ;SqlStr=SqlStr+"users_mst.uico, record_dtl.reid,record_dtl.datetime, record_dtl.message,record_dtl.ruid,record_dtl.rtid ";SqlStr=SqlStr+" FROM record_dtl INNER JOIN users_mst ON record_dtl.ruid = users_mst.name "; 

SqlStr=SqlStr+"where record_dtl.rtid="+Tid+" ORDER BY record_dtl.datetime";// DESC

解决方案 »

  1.   

    string SqlStr;
    SqlStr="SELECT [users_mst.name], [users_mst.nickname], [users_mst.class], [users_mst.SEnote], [users_mst.REnote], [users_mst.rgdate]," ;SqlStr=SqlStr+"[users_mst.uico], [record_dtl.reid],[record_dtl.datetime], [record_dtl.message],[record_dtl.ruid],[record_dtl.rtid] ";SqlStr=SqlStr+" FROM [record_dtl] INNER JOIN [users_mst] ON [record_dtl.ruid] = [users_mst.name] "; 

    SqlStr=SqlStr+"where [record_dtl.rtid]="+Tid+" ORDER BY [record_dtl.datetime]";// DESC
      

  2.   

    无效的括号名称 '[record_dtl.ruid]'。
      

  3.   

    那么长的语句就不要写成SQL语句了,直接写进视图(MS SQL),或者查询(access)
      

  4.   

    “标准表达式中数据类型不匹配。”应该是数据类型不对,sql2000会自动转换数据类型,ACCESS不会!
    所以类型不对的SQL在SQL2000中有可能通过,在ACCESS中就不行了!
      

  5.   

    Sorry,如下:
    string SqlStr;
    SqlStr="SELECT users_mst.[name], users_mst.[nickname], users_mst.[class], users_mst.[SEnote], users_mst.[REnote], users_mst.[rgdate]," ;SqlStr=SqlStr+"users_mst.[uico], record_dtl.[reid],record_dtl.[datetime], record_dtl.[message],record_dtl.[ruid],record_dtl.[rtid] ";SqlStr=SqlStr+" FROM [record_dtl] INNER JOIN [users_mst] ON record_dtl.[ruid] = users_mst.[name] "; 

    SqlStr=SqlStr+"where record_dtl.[rtid]="+Tid+" ORDER BY record_dtl.[datetime]";// DESC
      

  6.   

    record_dtl.ruid = users_mst.name ,這兩個的數據類型是否一致??