JDBC 共享Connection 的问题

leon_sun 2002-03-14 06:55:35
我想在一个程序中OPEN一个Connection,然后用这个Connection创建多个

Statement或多个ResultSet,也就是共享一个Connection,就象在VB中共享一个

ADOCONNECTION一样。我的程序如下,运行是报错。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String cnstr="jdbc:odbc:mycn";
Connection con =

DriverManager.getConnection(cnstr, "sa", "alex");
Statement s1,stment=con.createStatement();
s1=con.createStatement();
String sqlstr="select * from

table2",sqlstr1="select * from table1";
ResultSet rs1,rs=stment.executeQuery(sqlstr);
rs1=s1.executeQuery(sqlstr1);
...全文
66 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
neucloud 2002-03-14
  • 打赏
  • 举报
回复
很简单,把从第一个表中取出的数据存到变量中就行了。
zfluo 2002-03-14
  • 打赏
  • 举报
回复
你确认在VB中可以?
leon_sun 2002-03-14
  • 打赏
  • 举报
回复
呵呵,TO: neucloud()
这样做也可,但很多时候我要同时打开2个以上的表取出数据并计算呀。
TO:zfluo(haha) ,很显然我用的是MS SQL SERVER
neucloud 2002-03-14
  • 打赏
  • 举报
回复
可以这样:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String cnstr="jdbc:odbc:mycn";
Connection con = DriverManager.getConnection(cnstr, "sa", "alex");
Statement stment=con.createStatement();
String sqlstr="select * from table2",
sqlstr1="select * from table1";
ResultSet rs=stment.executeQuery(sqlstr);

//插入业务处理代码

rs.close();

rs=stment.executeQuery(sqlstr1);

//插入业务处理代码
zfluo 2002-03-14
  • 打赏
  • 举报
回复
你用的是什么的数据库啊?可能该数据库不支持并发访问。
leon_sun 2002-03-14
  • 打赏
  • 举报
回复
运行是报错如下:
[Microsft][ODBC SQL Server Driver]Connection is busy with results for another hstmt

怎么会事?谢谢!
flytsu 2002-03-14
  • 打赏
  • 举报
回复
是什么错误,不知道怎么解决呀?
feiyasu 2002-03-14
  • 打赏
  • 举报
回复
把显示错误的信息给打出来呀

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧