假设有一资料表名称叫people,其栏位结构及资料内容如下
id(栏位型态varchar) | name(栏位型态varchar) | salary(栏位型态int) |
001 | 王小明 | 30000 |
002 | 陈永年 | 35000 |
003 | 王新国 | 28000 |
已经建立好一个Connection con
一、利用SQL语法新增修改删除资料
1.新增一笔资料
新增一笔编号004,姓名刘少奇,薪水31000的资料
String insertstr="insert into people (id,name,salary) values (?,?,?)";
PreparedStatement pstmt=con.prepareStatement(insertstr);
pstmt.setString(1,"004");
pstmt.setString(2,"刘少奇");
pstmt.setInt(3,31000);
pstmt.executeUpdate();
2.修改一笔资料
修改编号001王小明的薪水资料,改成27000
String updatestr="update people set salary=? where id=?";
PreparedStatement pstmt=con.prepareStatement(updatestr);
pstmt.setInt(1,27000);
pstmt.setString(2,"001");
pstmt.executeUpdate();
3.删除一笔资料
删除编号003王新国的资料
String delstr="delete from people where id=?";
PreparedStatement pstmt=con.prepareStatement(delstr);
pstmt.setString(1,"003");
pstmt.executeUpdate();
二、利用ResultSet(免用SQL语法)新增修改删除资料
适用在JDBC2.0的驱动程式,且该驱动程式有实作出以下的方法才可以使用
1.新增一笔资料
新增一笔编号004,姓名刘少奇,薪水31000的资料
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery("select * from people order by id");
rs.moveToInsertRow();
rs.updateString("id","004"); //或是rs.updateString(1,"004);表示第一个栏位
rs.updateString("name","刘少奇");
rs.updateInt("salary",31000);
rs.insertRow();
2.修改一笔资料
修改编号001王小明的薪水资料,改成27000
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery("select * from people order by id");
rs.absolute(1); //将游标移至第一笔王小明的资料
rs.updateInt("salary",27000);
rs.updateRow();
3.删除一笔资料
删除编号003王新国的资料
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery("select * from people order by id");
rs.absolute(3); //将游标移至第三笔王新国的资料
rs.deleteRow();