jsp中sql引用变量的问题 String condition="INSERT INTO login VALUES "+"("+"'"+id+"',"+passowrd+")";比如象这一句,正确写法应该是什么样的",',+正确用法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 lz这样写当然没有问题。但是建议lz使用PreparedStatement来做sql。package org.luyang.jdbc;import java.sql.*;class Test { Connection con; PreparedStatement sta; ResultSet rs; String driver; String url; String user; String pwd; public Test() { driver = "oracle.jdbc.driver.OracleDriver"; url = "jdbc:oracle:thin:@ws2d-zm2:1521:zmit"; user = "kaikei2"; pwd = "kaikei2"; init(); } public void init() { try { Class.forName("oracle.jdbc.driver.OracleDriver"); // 驱动程序加载 con = DriverManager.getConnection(url, user, pwd); // connection 连接 sta = con .prepareStatement("INSERT INTO login VALUES (?, ?)); // PreparedStatement 创建 int seq = 1; sta.setString(seq++, "username"); // 对 ?1 赋值 str.setLong(seq++, password); // 对 ?2 赋值 sta.executeUpdate(); con.commit(); } catch (Exception e) { e.printStackTrace(); } }}class DBTest { public static void main(String[] args) { new Test(); }}===========================当然现实中对怕ssword的处理绝对不会这么简单。 字符串的两端应该加单引号所以,如果你的id和password都是字符串的话,应该String condition="INSERT INTO login VALUES "+"("+"'"+id+"','"+passowrd+"')"; 补充一下:建议lz不要使用这种字符直接相加的这种作法。实在要这么做,可以用StringBuffer。根据字符窜的“不可变长”属性,字符直接相加的作法,会在内存中制造出很多引用变量指向的垃圾。 String condition="INSERT INTO login VALUES ("+id+","+passowrd+")";变量不需要加单引号 学JavaSE遇到个问题,帮忙啊! JAVA面试题解惑系列(二)——到底创建了几个String对象? 有关applet设置问题 命令行下传参数(参数中含有元字符'*')给java的问题,非常急,请各位大侠们帮忙啊! eclipse是不是有个插件可以自动生成图形组件的代码 java 导excel问题 小妹才26分了,请问用java做一个b/s结构的矢量画图工具要用到那些技术呀? 关于回调函数 accept?? 不来看后悔哦,关于多线程的问题 请大家给我提供几个不错的JVM java打印问题 高分求教5个JAVA题,解决即给分!!
但是建议lz使用PreparedStatement来做sql。package org.luyang.jdbc;import java.sql.*;class Test {
Connection con; PreparedStatement sta; ResultSet rs; String driver; String url; String user; String pwd; public Test() {
driver = "oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@ws2d-zm2:1521:zmit";
user = "kaikei2";
pwd = "kaikei2";
init();
} public void init() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver"); // 驱动程序加载
con = DriverManager.getConnection(url, user, pwd); // connection 连接
sta = con
.prepareStatement("INSERT INTO login VALUES (?, ?)); // PreparedStatement 创建
int seq = 1;
sta.setString(seq++, "username"); // 对 ?1 赋值
str.setLong(seq++, password); // 对 ?2 赋值
sta.executeUpdate();
con.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
}class DBTest {
public static void main(String[] args) {
new Test();
}
}===========================当然现实中对怕ssword的处理绝对不会这么简单。
所以,如果你的id和password都是字符串的话,应该
String condition="INSERT INTO login VALUES "+"("+"'"+id+"','"+passowrd+"')";
建议lz不要使用这种字符直接相加的这种作法。
实在要这么做,可以用StringBuffer。根据字符窜的“不可变长”属性,字符直接相加的作法,会在内存中制造出很多引用变量指向的垃圾。
String condition="INSERT INTO login VALUES ("+id+","+passowrd+")";
变量不需要加单引号