请懂jdbcrowset的朋友指点一二,重点是如何解决乱码问题
关于使用和介绍,最好有例子,分不是问题。可以开贴给分。
谢谢
关于使用和介绍,最好有例子,分不是问题。可以开贴给分。
谢谢
解决方案 »
- public void launchFrame() 是干什么用的 在API中找不到它?
- 一个看似简单的问题
- 5.0后出现的foreach是必需要出现吗?
- 关于字符串转日期的问题
- 在JDK1.1中Thread类定义了suspend()和resume()方法,但是在JDK1.2中已经过时,应使用什么方法来替代之?
- 请教:Java AWT中密码输入框在哪?
- 关于组件焦点设置的问题!!!
- 我就有10分啦,请各位大虾快来帮帮我,很及!!!!
- n.addYear()为什么结果显示year没加1呢?
- 新人写一个平方小程序的时候遇到问题 求解
- 关于class类的代码 很短 不知道哪错了 刚学java
- 急!!!SWT 上绘制棋盘和棋子!
我的理解是这个接口基本上和ResultSet有类似的功能,只不过它的结果集默认是ResultSet.TYPE_SCROLL_INSENSITIVE和ResultSet.CONCUR_UPDATABLE的,也就是说默认的结果集就是可以上下滚动和可更新的。因为本身RowSet接口就是ResultSet的子接口,所以1.5里面的所有RowSet都有ResultSet的方法,而JdbcRowSet又只是在默认的属性和ResultSet有区别,所以它对结果集的操作方法和ResultSet都是一样的,我就不具体介绍了,大家可以参考API。 下面我介绍一下JdbcRowSet的创建方法,这有两种方法,一种是基于传统的JDBC连接数据库的方法:Class.forName(“org.gjt.mm.mysql.Driver”);Connection conn=DriverManager.getConnection(“jdbc:mydql://localhost:3306/test”,”root’,””);Statement stmt=conn.createStatement();ResultSet rs=stamt.executeQuery(“select * from table1”);JdbcRowSet jrs=new JdbcRowSetImpl(rs);这样就创建了一个对象(JdbcRowSetImpl是com.sun.rowset包里面的实现类,文中的五个接口在包中都对应有一个实现类),这个对象里面的数据就是和rs里面的数据是一样的。还有一种创建的方法是使用默认的构造方法,然后set属性得到数据,个人推荐使用第二种方法:JdbcRowSet jrs=new JdbcRowSetImpl();jrs.setUrl(“jdbc:mydql://localhost:3306/test”);jrs.setUsername(“root”);jrs.setPassword(“”);jrs.setCommand(“select * from table1”);jrs.execute();这样创建的对象是和第一种方法是一样的结果。当然这种方法可以连接一个数据源,如果我们在上下文环境种绑定了一个数据源,JNDI名字是dataSource1,那么下面的代码就可以获得对象:JdbcRowSet jrs=new JdbcRowSetImpl(); jrs.setDataSourceName(“dataSource1”) jrs.execute();得到对象之后我们就可以使用相应的方法来对数据进行遍历,更新,插入或者删除。 我有2点要说明:第一,其它四个接口的对象中除了JoinRowSet创建方式基本都是一样的,只是接口名字和接口实现类的名字不同而已,后面我就不再说明创建对象的方法了。第二,虽然JdbcRowSet默认是可滚动和可更新的,但是这也是需要数据库驱动支持的,我使用的MySql驱动就不支持更新结果集,所以大家使用之前需要阅读驱动的说明文档。