import day614.JdbcUtil;public class TestPs { public static void main(String[] args) throws SQLException {
int id=Integer.parseInt(args[0]);//请问这句话该怎么理解,输入参数该输入什么,为什么运行时候会异常呢
Connection con = null;
PreparedStatement ps=null;
ResultSet rs = null;
con = JdbcUtil.getConnection();
String sql="select*from test_all"
+ "where id>?";
ps=con.prepareStatement(sql);
ps.setInt(1,id);
rs=ps.executeQuery(sql);
StringBuffer sb=new StringBuffer();
if(rs!=null){
while(rs.next()){
sb.append("id="+rs.getInt(1)+" ");
sb.append("name="+rs.getString(2)+"\n");
}
}
System.out.println(sb.toString());
JdbcUtil.release(rs, ps, con); }}
输入"test_all"时候的异常:
Exception in thread "main" java.lang.NumberFormatException: For input string: "test_all"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at day614.TestPs.main(TestPs.java:10)
int id=Integer.parseInt(args[0]);//请问这句话该怎么理解,输入参数该输入什么,为什么运行时候会异常呢
Connection con = null;
PreparedStatement ps=null;
ResultSet rs = null;
con = JdbcUtil.getConnection();
String sql="select*from test_all"
+ "where id>?";
ps=con.prepareStatement(sql);
ps.setInt(1,id);
rs=ps.executeQuery(sql);
StringBuffer sb=new StringBuffer();
if(rs!=null){
while(rs.next()){
sb.append("id="+rs.getInt(1)+" ");
sb.append("name="+rs.getString(2)+"\n");
}
}
System.out.println(sb.toString());
JdbcUtil.release(rs, ps, con); }}
输入"test_all"时候的异常:
Exception in thread "main" java.lang.NumberFormatException: For input string: "test_all"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at day614.TestPs.main(TestPs.java:10)
你写一个数字进去就好了..把test_all 改成数字.
用java命令执行是
java TestPs 1
1 就是你要传递的参数,你可以在后面加空格写多个例如java TestPs 1 2 3
String sql="select * from test_all"
+ "where id>?";
这句要在select 和 * 和 from 直间加一个空格,不然报错
这个程序弄的晕头转向
问题行:
rs=ps.executeQuery(sql); 是上面的什么数据出错了吗..... Exception in thread "main" java.sql.SQLException: ORA-03115: unsupported network datatype or representation at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:420)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:896)
at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:452)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:986)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1125)
at day614.TestPs.main(TestPs.java:49)