程序如下:
public class TransForm {
public static void main(String[] args) {
Connection con = DataBasePool.getConnection(); String tableName = args[0]; //int i = new Integer(args[1]).intValue();
// ResultSetMetaData rsmd;
try {
Statement st = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql = "select field_name from " + tableName;
System.out.println(sql); ResultSet rs = st.executeQuery(sql); while (rs.next()) {
if (null != rs.getString(1)) {
System.out.println(rs.getString(1));
rs.updateString(1, rs.getString(1).toLowerCase());
rs.updateRow();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}程序目的,将数据库中字段转化为小写,更新到数据库中,程序一执行到rs.updateRow()就出错,不知道是什么问题,请各位给参考一下,谢谢:
错误提示:
java.lang.StringIndexOutOfBoundsException: String index out of range: 43 at java.lang.String.substring(String.java:1477) at oracle.jdbc.driver.ResultSetUtil.removeForUpdate(ResultSetUtil.java:162) at oracle.jdbc.driver.OracleStatement.getRevisedSql(OracleStatement.java:6564) at oracle.jdbc.driver.UpdatableResultSet.prepare_updateRow_statement(UpdatableResultSet.java:2109) at oracle.jdbc.driver.UpdatableResultSet.updateRow(UpdatableResultSet.java:1384) at org.apache.commons.dbcp.DelegatingResultSet.updateRow(DelegatingResultSet.java:305)Main_Record_No at com.power.common.TransForm.main(TransForm.java:29)
public class TransForm {
public static void main(String[] args) {
Connection con = DataBasePool.getConnection(); String tableName = args[0]; //int i = new Integer(args[1]).intValue();
// ResultSetMetaData rsmd;
try {
Statement st = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql = "select field_name from " + tableName;
System.out.println(sql); ResultSet rs = st.executeQuery(sql); while (rs.next()) {
if (null != rs.getString(1)) {
System.out.println(rs.getString(1));
rs.updateString(1, rs.getString(1).toLowerCase());
rs.updateRow();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}程序目的,将数据库中字段转化为小写,更新到数据库中,程序一执行到rs.updateRow()就出错,不知道是什么问题,请各位给参考一下,谢谢:
错误提示:
java.lang.StringIndexOutOfBoundsException: String index out of range: 43 at java.lang.String.substring(String.java:1477) at oracle.jdbc.driver.ResultSetUtil.removeForUpdate(ResultSetUtil.java:162) at oracle.jdbc.driver.OracleStatement.getRevisedSql(OracleStatement.java:6564) at oracle.jdbc.driver.UpdatableResultSet.prepare_updateRow_statement(UpdatableResultSet.java:2109) at oracle.jdbc.driver.UpdatableResultSet.updateRow(UpdatableResultSet.java:1384) at org.apache.commons.dbcp.DelegatingResultSet.updateRow(DelegatingResultSet.java:305)Main_Record_No at com.power.common.TransForm.main(TransForm.java:29)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货