代码一:String adduser1 = new String((request.getParameter("addusername")).trim());
 代码二:String sql1="select * from userdata where username ='"+adduser1+"'";先看代码二:为什么='"+adduser1+"'"既有单引号,又有双引号啊,怎么理解?
从这两行代码,我们是不是以推出在数据库表userdata的属性username是字符型,为什么?请高手帮忙解答啊,谢了!

解决方案 »

  1.   

    里面双引号没用
    看不出来
    java string 对应数据库好几种类型  只有能对应9不会出错
      

  2.   

    string sql1 打印到数据库中就是
    select * from userdata where username = 'adduser1'懂了没?
      

  3.   

    代码二是因为要转换成sql语句,在sql语句中字符串用单引号括起来,像这样:
    select * from table_name where column='parameter';
    而java中字符串常量用双引号括起来其实sql1是三段拼起来的:字符串常量"select * from userdata where username ='",变量adduser1,和常量"'",通过唯一的重载运算符"+"连接起来
      

  4.   


    SQL语句中的字符串用单引号,双引号是你在java中拼接字符串用的
      

  5.   

    一楼,java string 对应数据库哪几种类型啊
      

  6.   

    String sql1="select * from userdata where username ='"+adduser1+"'";adduser1这个是变量没错,也就是条件
    用单引号说明这个字段在数据库中是字符型,但也不能100%说他是字符型
    因为在oracle中加上单引号之后也可用于数字
      

  7.   

    String sql1="select * from userdata where username ='"+adduser1+"'";adduser1这个是变量没错,也就是条件
    用单引号说明这个字段在数据库中是字符型,但也不能100%说他是字符型
    因为在oracle中加上单引号之后也可用于数字
      

  8.   

    1. 拼接后的为sql  select * from userdata where username = 'adduser1'
    2. 不一定是字符,在数据库中单引号可以是很多类型 比如 数字  日期  都行
      

  9.   

    拼接字符串的时候,用双引号,单引号是因为sql语句中,查询字符要加单引号
      

  10.   

    在数据库中字符串是需要用单引号来概括起来的,就好像JAVA中的双引号一样~只是符号不一样(换了个符号)而已!这样理解会好理解些
      

  11.   

    String sql1="select * from userdata where username ='"+adduser1+"'";结果就是 select * from userdata where username ='+adduser1+'"select * from userdata where username ='"这是一个字符"'"这是一个字符