六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 208|回复: 0

在数据集中插入、删除、修改数据

[复制链接]

升级  44%

28

主题

28

主题

28

主题

秀才

Rank: 2

积分
116
 楼主| 发表于 2013-1-14 23:02:31 | 显示全部楼层 |阅读模式
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开发的一套数据库组件,是事先把数据装载到了应用程序的内存中,所以可以实现基于二次查询条件来定位记录)
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表