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

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开发的一套数据库组件,是事先把数据装载到了应用程序的内存中,所以可以实现基于二次查询条件来定位记录)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值