刚才在网上搜索到这样一些资料 everything works fine and all the rows are displayed. However if I use this:while(resultset.next()) { System.out.println(rs.getString("COLUMN_NAME_1")); System.out.println(rs.getString("COLUMN_NAME_2"));//am accessing the first column again System.out.println(rs.getString("COLUMN_NAME_1")); }then this exception is thrown:java.sql.SQLException: No data found at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:6212) at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3266) at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5377) at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:320) at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:376)
Connection con=DriverManager.getConnection(url,"mm","mmmmmm");
^
E:\resin-2.1.6\webapps\jxpg\UpdateWJ.jsp:155: 未定义变量或类名:DriverManager
Connection con=DriverManager.getConnection(url,"mm","mmmmmm");
^
E:\resin-2.1.6\webapps\jxpg\UpdateWJ.jsp:156: 找不到类 Statement。
Statement stm=con.createStatement();
^
E:\resin-2.1.6\webapps\jxpg\UpdateWJ.jsp:157: 未定义变量:rs1
rs1=stm.executeUPDATE("UPDATE student_info set if_jxpg=if_jxpg+1 where code='"+user+"'");
^
E:\resin-2.1.6\webapps\jxpg\UpdateWJ.jsp:158: 未定义变量或类名:rs1
rs1.close();
^
5 个错误
everything works fine and all the rows are displayed. However if I use this:while(resultset.next())
{
System.out.println(rs.getString("COLUMN_NAME_1"));
System.out.println(rs.getString("COLUMN_NAME_2"));//am accessing the first column again
System.out.println(rs.getString("COLUMN_NAME_1"));
}then this exception is thrown:java.sql.SQLException: No data found
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:6212)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3266)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5377)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:320)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:376)
不是CLASS的错
是调用的时候,字段的读取有问题
谢谢以上各位
想要分请UP
把分分一下
不知道大家有意见没?
而且原因和你一摸一样,折腾半天,结果哭笑不得
另外补充一下:
1.Class.forName("<driver>");如果出错,即不能定位驱动程序,将会抛出java.lang.ClassNotFoundExeption
2.由ResultSet 引起的操作而引起的异常通常为SQLExecption。(包括字段类型匹配,顺序等第)
本来getInt的写成了getString吧
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: Query.javapackage com.Dbmanage;import java.io.PrintStream;
import java.sql.*;public class Query
{ String DBDriver;
String ConnStr;
private Connection conn;
private Statement stmt;
private Statement stmt2;
private Statement stmt3;
private Statement stmt4;
ResultSet rs;
ResultSet rs2;
ResultSet rs3;
ResultSet rs4;
String UserName;
String PassWord; public Query()
{
DBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
ConnStr = "jdbc:sqlserver://172.16.33.8:1433;DatabaseName=AOC;user=sa;password=black*rose";
conn = null;
stmt4 = null;
rs4 = null;
UserName = "sa";
PassWord = "black*rose";
} public void ConnectDB()
throws Exception
{
Class.forName(DBDriver).newInstance();
conn = DriverManager.getConnection(ConnStr, UserName, PassWord);
} public ResultSet executeQuery(String sql)
{
rs = null;
try
{
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex)
{
rs = null;
System.out.println("执行查询出错!" + ex.getMessage());
}
return rs;
} public ResultSet executeQuery2(String sql2)
{
rs2 = null;
try
{
stmt2 = conn.createStatement();
rs2 = stmt2.executeQuery(sql2);
}
catch(SQLException ex)
{
rs2 = null;
System.out.println("执行查询出错!" + ex.getMessage());
}
return rs2;
} public ResultSet executeQuery3(String sql3)
{
rs3 = null;
try
{
stmt3 = conn.createStatement();
rs3 = stmt3.executeQuery(sql3);
}
catch(SQLException ex)
{
rs3 = null;
System.out.println("执行查询出错!" + ex.getMessage());
}
return rs;
} public ResultSet executeQuery4(String sql4)
{
rs4 = null;
try
{
stmt4 = conn.createStatement();
rs4 = stmt4.executeQuery(sql4);
}
catch(SQLException ex)
{
rs4 = null;
System.out.println("执行查询出错!" + ex.getMessage());
}
return rs;
} public int executeInsert(String strSql)
{
int intRow = 1;
try
{
stmt = conn.createStatement();
intRow = stmt.executeUpdate(strSql);
}
catch(SQLException eExcutQuery)
{
intRow = 0;
System.out.println("执行添加操作出现如下异常:" + eExcutQuery.getMessage());
}
return intRow;
} public int executeUpdate(String strSql)
{
int intRow = 1;
try
{
stmt = conn.createStatement();
intRow = stmt.executeUpdate(strSql);
}
catch(SQLException eExecteUpdate)
{
System.out.println("执行更新操作出现如下异常:" + eExecteUpdate.getMessage());
intRow = 0;
}
return intRow;
} public int executeDelete(String strSql)
{
int intRow = 1;
try
{
stmt = conn.createStatement();
intRow = stmt.executeUpdate(strSql);
}
catch(SQLException eExecteUpdate)
{
System.out.println("执行删除操作出现如下异常:" + eExecteUpdate.getMessage());
intRow = 0;
}
return intRow;
} public String getStr(String str)
{
String temp;
String temp_p = str;
byte temp_t[] = temp_p.getBytes("ISO8859-1");
temp = new String(temp_t);
return temp;
Exception e;
e;
return "null";
} public void closeRs()
{
try
{
rs.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
} public void closeRs2()
{
try
{
rs2.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
} public void closeRs3()
{
try
{
rs3.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
} public void closeRs4()
{
try
{
rs4.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
} public void closeStmt()
{
try
{
stmt.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
} public void closeConn()
{
try
{
conn.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
}