java中如何在字符串中嵌入变量

Stringstr="张三"比如说一个字符串sql语句“select*fromstudentwherename=”+str我试过这样不行报错说无效的列名请问应该怎么表达这... String str="张三"
比如说一个字符串sql语句“select * from student where name=”+str

我试过 这样不行 报错说 无效的列名
请问应该怎么表达这个语句的意思
展开
 我来答
IT总监老徐
推荐于2017-09-27 · TA获得超过142个赞
知道答主
回答量:58
采纳率:0%
帮助的人:56.8万
展开全部
用这个语句就可以:
"select * from student where name='" + str + "'"

因为"name"在你的数据库中被定义成了字符型,所以查询条件应该加上单引号,例如你要查名字叫“张三”的student,那么sql查询语句的格式就应该是:
"select * from student where name='张三'"
mengjianzhou
2008-10-14 · TA获得超过139个赞
知道答主
回答量:180
采纳率:0%
帮助的人:108万
展开全部
在Java中 + 号还可以表示连接符:
但前提是在输出语句里。即:
System.out.println();语句中;
如果是在一般的语句中肯定是要报错的。
因为在一般的赋值语句中系统会自动进行数据类型的转换。会把变量转换成String类型的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
keyiro
2008-10-14 · TA获得超过488个赞
知道答主
回答量:161
采纳率:0%
帮助的人:173万
展开全部
有什么问题吗
String str="张三";
String sql ="select * from student where name="+str;
System.out.println(sql);

这样是对的啊 或者你也可以

"select * from student where name= '"+str+"'"

楼主是不是做数据库的查询操作啊

这样的话也还是没错的啊 无效的列名 你的name字段对吗?是表中的字段吗

你应该把sql语句打印一下 看看是哪里除了问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzj203355
2008-10-14 · TA获得超过2022个赞
知道小有建树答主
回答量:3147
采纳率:100%
帮助的人:1003万
展开全部
select * from student where name='"+str+"'
//这个是一对单引号 里面一对双引号 然后拿一对双引号把这个语句包起来就是
"select * from student where name='"+str+"' "
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dengyuny
2008-10-14
知道答主
回答量:13
采纳率:0%
帮助的人:0
展开全部
看不明白你的意思,你看看是不是想这样:

public class str{
public static void main(String args[]){
String str="张三";
String sq1="select * from student where name=";
sq1+=str;
System.out.println(sq1);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式