在数据集中插入、删除、修改数据
1插入数据mport java.sql.*;public class InsertRow{public static void main(String[] args) { Connection conn=null; Statement state=null; try { Class.forName("org.apache.derby.jdbc.ClientDriver"); conn=DriverManager.getConnection("jdbc:derby://localhost:1527/NetworkDB;create=true"); //用的是jdk自带的数据库需derby驱动 state=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//必须要ResultSet.CONCUR_UPDATABLE ResultSet rs=state.executeQuery("select id, name from foo"); rs.moveToInsertRow(); //将指针移至可以插入记录的地方 rs.updateInt(1,2); //修改当前记录指定的第一个字段的值 rs.updateString(2,"Mao Zedong"); // rs.insertRow(); //将当前记录插入数据库 System.out.println("成功插入记录!"); } catch(Exception e) { e.printStackTrace(); } finally { try { if(state!=null) state.close(); if(conn!=null) conn.close(); } catch(Exception e1) { } } } }
2 、删除数据
需要absolute()根据传入的行号来定位记录,使改记录成为当前记录
deleteRow():向数据库中删除当前的记录
import java.sql.*;public class DeleteRow{public static void main(String[] args) { Connection conn=null; Statement state=null; try { Class.forName("org.apache.derby.jdbc.ClientDriver"); conn=DriverManager.getConnection("jdbc:derby://localhost:1527/NetworkDB;create=true"); state=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet rs=state.executeQuery("select id, name from foo"); rs.absolute(2); rs.deleteRow(); System.out.println("成功删除记录!"); } catch(Exception e) { e.printStackTrace(); } finally { try { if(state!=null) state.close(); if(conn!=null) conn.close(); } catch(Exception e1) { } } } }
3、修改数据
import java.sql.*;public class UpdateRow{public static void main(String[] args) { Connection conn=null; Statement state=null; try { Class.forName("org.apache.derby.jdbc.ClientDriver"); conn=DriverManager.getConnection("jdbc:derby://localhost:1527/NetworkDB;create=true"); state=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet rs=state.executeQuery("select id, name from foo"); rs.absolute(2); rs.updateString(2,"Zhou Enlai"); rs.updateRow(); System.out.println("成功修改记录!"); } catch(Exception e) { e.printStackTrace(); } finally { try { if(state!=null) state.close(); if(conn!=null) conn.close(); } catch(Exception e1) { } } } }
4对于实际应用中要删除和修改的记录号往往是不可知的,可以借助DataExpress提供的DataSet记起子类的数据集,(注:DataExpress是borland基于jdbc开发的一套数据库组件,是事先把数据装载到了应用程序的内存中,所以可以实现基于二次查询条件来定位记录)
页:
[1]