解决方案 »

  1.   

    楼主数据库的字段确定有学号?不是studentNo?列错了吧。还是你起的别名?
      

  2.   

    rsa=acc.executeQuery("SELECT * FROM stu_info WHERE 学号="+id+" order by '"+orderby+"' desc");改为:rsa=acc.executeQuery("SELECT * FROM stu_info WHERE 学号='"+id+"' order by '"+orderby+"' desc");试试
      

  3.   

    问题错误是:where条件后有不能识别列“学号”
    问题应该就出在汉字的问题吧,在一个,仔细检查下你的字符串拼接,明显存在问题
      

  4.   

    SQL拼接为什么不用stringbuffer呢?或者用proparedStatment多安全
      

  5.   

        把你的  这段sql语句在  数据库的环境下执行试试  看哪里报错。。?
      

  6.   

    引号问题:给个例子你玩玩
    String condition="  SELECT * FROM message Where number = '   " +    number  + "   '    "
      最后一个引号和第一个引号对应,则String condition = "" ;
     再看sql语句 :SELECT * FROM message Where number = '   " +    number  + "   '  中number在数据库中是字符串类型,所以where number = '?'
     这个问号中有个变量,用"+number+" 来连接。。
      

  7.   

    把中文表名、列名全改为英文,where后面的列如果不是number类型,value加'',如 where id='id'
      

  8.   

    在Oracle里面你用中文列名或者关键字神马的可以用""双引号搞定!
    好像SqlServer用的是[]!你可以试试哦!select * from (select 's' as "天" from dual) where "天" = 's'