java用sql语句向数据库传变量问题

当传的是常量时可以

比如st.executeUpdate("insert into Table1(name,age)values('张三','90')");

但是我想传变量时却不行了,数据库中name和 age类型分别是char[20],int
于是我在java里定义两个变量
String str="张三";
char[] name = new char[20];
name=str.toCharArray();
int age=90;
然后用语句st.executeUpdate("insert into Table1(name,age)values(name,age)");
报错:
列名'name'无效
请教问题出在哪?

这句应该这样写st.executeUpdate("insert into Table1(name,age)values('"+name+"','"+age+"')");
sql语句有变量是要用 “+变量名+” 的形式与sql语句连接
刚开始学JDBC的朋友很容易犯这样的错误,写多了就记得了
如果你的age是整型数据的话 记得不要用单引号引上
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-05
你使用的是错的

试试下面这个

st.executeUpdate("insert into Table1(name,age)values(' " + name + " ', ' " +age + " ')");
第2个回答  2013-10-05
用?好了~~~~~~~~~~~~~~~~~~
相似回答