但是在JTDS官方网站上发现JTDS驱动是支持updatable的。
String CLASSFORNAME = "net.sourceforge.jtds.jdbc.Driver";
String SERVANDDB ="jdbc:jtds:sqlserver://localhost/cstrip";
Statement stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);我的JAVA环境是JDK1.5、JBUILDER2005。
程序出错信息:java.sql.SQLException: ResultSet is read only.
at net.sourceforge.jtds.jdbc.JtdsResultSet.checkUpdateable(JtdsResultSet.java:327)
at net.sourceforge.jtds.jdbc.JtdsResultSet.setColValue(JtdsResultSet.java:228)
at net.sourceforge.jtds.jdbc.MSCursorResultSet.setColValue(MSCursorResultSet.java:171)
at net.sourceforge.jtds.jdbc.JtdsResultSet.updateBytes(JtdsResultSet.java:761)
at cstrip.test.ImageOperation.setImage(ImageOperation.java:96)
at cstrip.test.ImageOperation.storeImage(ImageOperation.java:69)
at cstrip.test.ImageOperation.main(ImageOperation.java:151)我的程序是插入图片到SQL数据库,难道是不支持IMAGE类型吗?换微软JDBC驱动运行没有问题。
String CLASSFORNAME = "net.sourceforge.jtds.jdbc.Driver";
String SERVANDDB ="jdbc:jtds:sqlserver://localhost/cstrip";
Statement stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);我的JAVA环境是JDK1.5、JBUILDER2005。
程序出错信息:java.sql.SQLException: ResultSet is read only.
at net.sourceforge.jtds.jdbc.JtdsResultSet.checkUpdateable(JtdsResultSet.java:327)
at net.sourceforge.jtds.jdbc.JtdsResultSet.setColValue(JtdsResultSet.java:228)
at net.sourceforge.jtds.jdbc.MSCursorResultSet.setColValue(MSCursorResultSet.java:171)
at net.sourceforge.jtds.jdbc.JtdsResultSet.updateBytes(JtdsResultSet.java:761)
at cstrip.test.ImageOperation.setImage(ImageOperation.java:96)
at cstrip.test.ImageOperation.storeImage(ImageOperation.java:69)
at cstrip.test.ImageOperation.main(ImageOperation.java:151)我的程序是插入图片到SQL数据库,难道是不支持IMAGE类型吗?换微软JDBC驱动运行没有问题。
说的很明白ResultSet是只读的,可以把你对它的操作贴出来吗?
比如"select * from"
不能用*,另外createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
如果用了*会使结果集自动变为只读。