2 yougehubi yougehubi 于 2014.12.21 11:32 提问

jsp中对mysql赋值问题

rs=sql.executeQuery("select * from user where username='"+username+"'");
这句话是在mysql中查找username的值为jsp中string变量username的值的记录。为啥要加这么多引号还有加号呢 不是很明白啊。求高手解答

3个回答

caozhy
caozhy   Ds   Rxr 2014.12.21 11:39

""这是Java中字符串的引号
''这是SQL中的引号

假设你的username是张三
你拼接的结果就是
select * from user where username='张三'

guwei4037
guwei4037   Ds   Rxr 2014.12.21 11:55

select * from user where username='"+username+"'

username是一个变量,解析结果为:select * from user where username='张三'.

wind_cloud2011
wind_cloud2011   Rxr 2014.12.21 11:57

双引号是拼接串,username是变量,单引号是因为是字符类型,如果是整型就不用单引号,
select * from user where id=1
string sqlstr="select * from user where username='"+username+"'";
rs=sql.executeQuery(sqlstr);
如果username是张三
则返回的sqlstr便是:select * from user where username='张三'

wind_cloud2011
wind_cloud2011 回复yougehubi: 这是数据库查询语句的格式,字符串要加单引号;另"select * from user where username='"是前面的字符串,加变量username,再加个单引号,
3 年多之前 回复
wind_cloud2011
wind_cloud2011 回复yougehubi:
3 年多之前 回复
yougehubi
yougehubi 普通输出的时候out.print("名字是:“+username)只有字符串才加”“变量不用加引号的 。。为啥sql语句里面的username要加”“还要前后加加号呢
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!