|
I have problem to update the result set programmatically. I use VisualAge for Java 3.5 Enterprise Edition. My database is DB2 in AS/400. I am using JDBC 2.0 API features to update the field in the result set. I got error message:
SQLException: Cursor state not valid.
SQLState: 24000
Here is my sample code:
import java.sql.*;
import com.ibm.as400.access.*;
class Test {
public static void main(java.lang.String[] args) {
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
// Load Java JDBC driver.
try {
Class.forName("com.ibm.as400.access.AS400JDBCDriver");
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: "+e.getMessage());
}
try {
con = DriverManager.getConnection("jdbc:as400://wilm620/agtcomp", "myID", "mypassword");
} catch (SQLException e){
System.err.println("Connection Error Exception: "+e.getMessage());
}
try{
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery("select ID from AGTCOMP.TEST");
//move the cursor to the first row and update the ID field (Integer) to 30.
rs.next();
rs.updateInt(1,30);
stmt.close();
con.close();
}catch (SQLException e){
System.err.println("SQLException: "+e.getMessage());
System.err.println("SQLState: "+e.getSQLState());
}
System.exit(0);
}
}
I have tried to scroll the result set up and down, there is no problem to do that. But I just cannot update it. Of course I can not do rs.updateRow() to update the row in the database either.
Any helps will be highly appreciated.
Weining (Wayne) Xu
Phone: +302.594.2846
Email: weining.xu@aig.com
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.