java_JDBC(2)
上篇说到,通过JDBC可实现java编程程序和mysql数据库进行连接并交互,而交互后所形成的结果集是通过ResultSet对象来操作的。
创建ResultSet对象:
stmt = conn.createStatement(int RSType,int RSConcurrency); //或者stmt = conn.prepareStatement(String SQL,int RSType,int RSConcurrency); //或者stmt = conn.prepareCall(String SQL ,int RSType,int RSConcurrency); ResultSet rs = stmt.executeQuery(sql);
其中int RSType为ResultSet类型,默认ResultSet.TYPE_FORWARD_ONLY(光标只能在结果集中向前移动),还有ResultSet.TYPE_SCROLL_INSENSITIVE(光标可向前或后移动,结果集对后面数据库的更改不敏感)、ResultSet.TYPE_SCROLL_SENSITIVE(光标可向前或向后移动,结果集对后面数据库的更改敏感);
int RSConcurrency用于指定结果集是只读或可更新:ResultSet.CONCUR_READ_ONLY(只读),ResultSet.CONCUR_UPDATABLE(可更新);
结果集的接口方法可分为三类:
- 浏览结果集:
- 查看结果集
public int getXXX(String columnName)throws SQLException
该方法参数也可以是列索引,其中XXX表示所查数据类型;
- 更新结果集
public void updateString(String columnName,String s)throws SQLException
同理,其方法的第一个参数也可引用列索引,修改该列的原本值为指定的s值;
通过该方法可以更新结果集,却不会更新底层的数据库,若要通过JDBC更改数据库需要用以下方法: