"select * from a where create=' "+user.getUser_id()+" ' " 你整个语句应该是这样的吧,这整个应该是3个字符串的拼接,前面select * from a where create=' 这是一个字符串,然后user.getUser_id() 获取的也应该是一个字符串,加上最后的 ' 这个字符串,拼接起来成为一整个字符串,单引号的使用是作为sql语句的部分,sql中对字符型进行条件查询的时候是要加 ' '号 假如user.getUser_id()返回"aaa" 不加单引号,最终到数据库中查询语句就是这样 select * from a where create=aaa 会导致sql查询报错的 加上单引号 select * from a where create='aaa' 这样就是没问题的
字符串拼接而已,应该是
"
select * from a where create='" +user.getUser_id()+ "'"去掉字符串外边的『引号』 ,把user.getUser_id()替换成实际的值,如『1』,是不是会更直观一点?
select * from a where create='1'单引号是因为字符串对比需要用单引号括起来,双引号和加号是连接字符串用的
"select * from a where create=' "+user.getUser_id()+" ' "
你整个语句应该是这样的吧,这整个应该是3个字符串的拼接,前面select * from a where create=' 这是一个字符串,然后user.getUser_id() 获取的也应该是一个字符串,加上最后的 ' 这个字符串,拼接起来成为一整个字符串,单引号的使用是作为sql语句的部分,sql中对字符型进行条件查询的时候是要加 ' '号
假如user.getUser_id()返回"aaa"
不加单引号,最终到数据库中查询语句就是这样
select * from a where create=aaa
会导致sql查询报错的
加上单引号
select * from a where create='aaa'
这样就是没问题的