关于jdbc的 无法得到resultset返回的结果 那为高手给看看

ljpro 2003-09-11 11:12:22
import java.awt.*;
import java.sql.*;
public class JDBCTest2 extends Frame{
TextArea txtArea;
public JDBCTest2(){
super("JDBCtest");
setLayout(new FlowLayout());
txtArea=new TextArea(30,80);
add(txtArea);
resize(500,500);
show();
txtArea.setText(".............\n");
}
public static void main(String[] args) throws SQLException,Exception{
String query="select * from Employees";

try{
JDBCTest myJDBCTest=new JDBCTest();
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection mycnn=DriverManager.getConnection("jdbc:odbc:mdb");
if (mycnn!=null) System.out.println("database not null");

Statement mystmt=mycnn.createStatement();
if (mystmt!=null) System.out.println("stmt not null");

ResultSet myresults=mystmt.executeQuery(query);
if(myresults!=null) System.out.println("rs not null");

myJDBCTest.displayResults(myresults);
//close
myresults.close();
mystmt.close();
mycnn.close();
}
catch (SQLException ex) {
while(ex!=null){
System.out.println ("database: " +
ex.getSQLState ()+" "+ex.getErrorCode());
System.out.println ("Message: " +ex.getMessage ());
System.out.println ("Vendor: " +ex.getErrorCode ());
ex = ex.getNextException ();
System.out.println ("");
}
}
}
void displayResults(ResultSet rs)throws SQLException{

ResultSetMetaData rsmd=rs.getMetaData();
if (rsmd!=null) System.out.println("rsmd not null");

int cols=rsmd.getColumnCount();
if(cols!=0) System.out.println(cols);

txtArea.setText("");

while(rs.next()){
for(int i=1;1<=cols;i++){
if(i>1) txtArea.append("\t");
try{
txtArea.append(rs.getString(1));
}
catch(NullPointerException e){
}
}
txtArea.append("\n");
}
}
public boolean handleEvent(Event evt){
if(evt.id==Event.WINDOW_DESTROY){
System.exit(0);
return true;
}
return super.handleEvent(evt);
}


}
xp+sp1 odbc在系统中配的“mdb”在mssql中也是一样的结果 但mysql却可以正常连接用的是mysql的java驱动
...全文
61 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaobingkun 2003-11-28
  • 打赏
  • 举报
回复
当执行完查询后。游标(指针)是指向第一条记录的前面。是一个空的记录。不写next的话就会报错。
myxd 2003-09-23
  • 打赏
  • 举报
回复
好像是过早的关闭了数据库的廉洁
wufayun 2003-09-23
  • 打赏
  • 举报
回复
为什么先要rs.next();才能用rs.getString(1);
要不用的话好像会出错
noratong 2003-09-15
  • 打赏
  • 举报
回复
Connection mycnn=DriverManager.getConnection("jdbc:odbc:mdb");
应该改成:Connection mycnn=DriverManager.getConnection("jdbc:odbc:mdb","","");
后面应该还有两个参数:用户名和密码,没设的话,就填我写的这。
zhiyong82 2003-09-15
  • 打赏
  • 举报
回复
返回什么错误呢 !!
java返回的信息是什么 !
fingerfox 2003-09-15
  • 打赏
  • 举报
回复
@_@

62,614

社区成员

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

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