package hnie.oracle;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class SQLInject {
public static void main(String [] args) {
read("1011");
}
public static void read(String dno) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = OracleJDBCUtil.getConnetion();
String sql = "SELECT DNO,NAME,LOC FROM mytable WHERE DNO=?"; ps = conn.prepareStatement("SELECT DNO,NAME,LOC FROM mytable WHERE DNO=?");
ps.setString(1, dno);
System.out.println(sql);
rs = ps.executeQuery();
while(rs.next()) {
System.out.println(rs.getObject(1) + "\t" + rs.getString(2) + "\t" + rs.getString(3));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
OracleJDBCUtil.free(ps, rs, conn);
}
}
}
为什么没有输出呀,,,sql语句中的?在后面不是调用setString()设置了吗???怎么还是有问题呢???
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class SQLInject {
public static void main(String [] args) {
read("1011");
}
public static void read(String dno) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = OracleJDBCUtil.getConnetion();
String sql = "SELECT DNO,NAME,LOC FROM mytable WHERE DNO=?"; ps = conn.prepareStatement("SELECT DNO,NAME,LOC FROM mytable WHERE DNO=?");
ps.setString(1, dno);
System.out.println(sql);
rs = ps.executeQuery();
while(rs.next()) {
System.out.println(rs.getObject(1) + "\t" + rs.getString(2) + "\t" + rs.getString(3));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
OracleJDBCUtil.free(ps, rs, conn);
}
}
}
为什么没有输出呀,,,sql语句中的?在后面不是调用setString()设置了吗???怎么还是有问题呢???
解决方案 »
- 我在第一张jsp页面添加了一个字符串数组,如何在另一个jsp页面中取出来?
- 问个关于list的引用的问题
- 软件包 net.sf.hibernate 不存在
- j2ee和web程序有什么区别?
- 一定要帮忙,关于两级删除的问题!
- Collection接口中List Map Set共同点和不同点总结?
- 怎样将pointbase中的数据导入到oracle
- 看中我的出身,还是看中我的能力,寻伯乐
- JSP 何时使用 内部跳转 ,何时使用 外部跳转?
- hibernate已经写好了实体类和配置文件,怎么生成数据表
- 用Myeclipse 做struts2开发,MySQL中文乱码问题
- hibernate如何处理数据删除标签?
还有是不是你数据库里的“DNO”字段不是String类型的呢?
我怀疑是esecuteUpdate()方法没有返回值
不是哦,应该是数据库没有根据sql语句查询到内容
至于驱动的问题说不定人家在spring里面做了加载呢
DriverMamager.getConnection()
都要写
1 如果手动执行了SQL语句发现有结果,而运行的时候发现没有结果,看看是否查错了库。否则,运行SQL语句都没有结果的话,用JAVA访问也不可能有结果。同时也查查开关连接、数据库驱动方面有什么问题。有没有可能是你在开关连接的时候吧错误给屏蔽了。
2 养成良好的习惯比较好,否则更改SQL语句后会造成异常,而且我不建议使用getObject()方法,因为你传递进去的是字符串,那么获得值的时候完全可以用字符串来去,如果用了getObject(),我想会不会给你出一个内存地址打出来了呢