关于jdbc的怪问题,谁能帮我解决一下

xujialin_xjl 2003-08-21 10:52:44
import java.sql.*;
import java.awt.*;
import javax.swing.*;
import java.util.*;

public class HelloWorld extends JFrame {
public HelloWorld() {
JPanel p1 = new JPanel();
JTable t1;
String drv = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:ycjxc";
String user = "ycjxc";
String password = "ycjxc";
String errMsg = "";
Connection conn;
Statement stat;
ResultSet result;
ResultSetMetaData rsmd;
Vector columnHeads = new Vector();
Vector rows = new Vector();
int colNum;
try {
Class.forName(drv);
conn = DriverManager.getConnection(url, user, password);
stat = conn.createStatement();
result = stat.executeQuery("select * from monthlist");
rsmd = result.getMetaData();
colNum = rsmd.getColumnCount() + 1;
while (result.next()) {
for (int i=1; i<colNum; i++) {
System.out.print(rsmd.getColumnName(i) + " " );
System.out.println(result.getString(i) + " ");
System.out.println(result.getString(i) + " ");
// columnHeads.add(rsmd.getColumnName(i));
// rows.add(result.getString(i));
}
System.out.println();
}
}
catch (Exception e) {
errMsg += e.toString();
}
System.out.println(errMsg);

t1 = new JTable(columnHeads, rows);
// super("Hello World - JTable");
p1.setLayout(new BorderLayout());
p1.add(t1, BorderLayout.NORTH);
this.getContentPane().add(p1);
this.setSize(400, 300);
this.setVisible(true);
}

public static void main(String[] args) {
HelloWorld hw = new HelloWorld();
System.out.println("Hello World!");
}
}

上面这段代码运行时总是报错“java.sql.SQLException: No data found”;后来发现第二个System.out.println(result.getString(i) + " ");有问题,请教各位,小弟初学java

...全文
81 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hesi726 2003-08-22
  • 打赏
  • 举报
回复
去掉所有的 pstmt.addBatch();
最后一句改成 pstmt.executeUpdate(); 即可!
你抄的哪本书的例子啊??误人子弟!!
whyxx 2003-08-21
  • 打赏
  • 举报
回复
result是一直往下移动的,用了两次,就出问题了
stonegump 2003-08-21
  • 打赏
  • 举报
回复
去掉第二个System.out.println(result.getString(i) + " ")就行了。result是按cursor方式往下移动的。
xujialin_xjl 2003-08-21
  • 打赏
  • 举报
回复
up
xujialin_xjl 2003-08-21
  • 打赏
  • 举报
回复
pstmt = cnn.prepareStatement("insert into monthlist values(?, ?, ?, ?)");
pstmt.setString(1, "2003-06-01");
pstmt.addBatch();
pstmt.setString(2, "2003-06-01");
pstmt.addBatch();
pstmt.setString(3, "2003-06-30");
pstmt.addBatch();
pstmt.setString(4, "NULL");
pstmt.addBatch();
pstmt.executeBatch();
上述代码报错java.sql.SQLException: Parameter-Set has missing values.
我可是抄的例子啊,给我解决一下吧,谢谢
bdsc 2003-08-21
  • 打赏
  • 举报
回复
vb程序员?for(i=0 ....)!
zez 2003-08-21
  • 打赏
  • 举报
回复
stat = conn.createStatement(ResultSet.xxxxSENSETIVE,ResultSet....UPDATEABLE);
具体怎么拼忘了,你ResultSet. 自然就显示出来


------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
xujialin_xjl 2003-08-21
  • 打赏
  • 举报
回复
那怎样能够往上移动呢?

62,614

社区成员

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

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