肯定有区别咯
上句
String   sql   =   "select   *   from   student   where   username='"+name+"'"; 是一个整体的,

解决方案 »

  1.   

    你下句
    //String   sql   =   "select   *   from   student   where   username="+name; 
    被你当成
    String   sql   =   "select   *   from   student   where   username='+"name+"'"; 
    你的意思是不是?
      

  2.   

    拼接错误吧.
    String   sql   =   "select   *   from   student   where   username="+name;
    电脑会把他分为两句,而你的第一句还没完。
    应该是这样.
      

  3.   

    就是
    select * from student where username = 'menshen'

    select * from student where username = menshen 的区别SQL语句的字符串需要加单引号的,否则数据库无法执行
    就这么简单
      

  4.   

    要看你数据库设计的字段了,如果是字符型的话就要加两个单引号把变量包涵住,如果是数值型和其他时间类型的话就不要加单引号,这是数据库语法T-SQL的规定
      

  5.   

    have same opinion with BlueSunny.
      

  6.   

    正如 newflypig 和 BlueSunny 做出的说明,关键在于你的数据库字段的设计类型。如果是字符或字符串类型,请你加上单引号。否则则不需要加。
      

  7.   

    四楼的说的对!
    若要是不想用单引号的话
    我建议你用PreparedStatement来执行sql语句
    这样的话可以避免数据类型之间的差异!
    具体的用法很简单你查查资料估计没有问题
      

  8.   

    一样不一样,你把生成的sql打出来,然后只在在数据库里运行下不就知道了
      

  9.   

    把两种写法最后得到的sql字符串的值打印出来,拷贝到数据库中执行一下就知道了。
      

  10.   

    同意  11楼说的  建议用PreparedStatement  一个位置一个坑  往里填就ok了~~
    而且不容易错 呵呵~~
      

  11.   

    //String   sql   =   "select   *   from   student   where   username="+name;   一般这样写的情况就是这个字段是int 形的.
      

  12.   

    遇到SQL语句问题结合查询分析器就到出原因了