Topic: JAVA 和 数据库 的问题

  Print this page

1.JAVA 和 数据库 的问题 Copy to clipboard
Posted by: 傲者芭蕾
Posted on: 2003-09-24 11:03

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.net.*;
class Mywindow extends JFrame implements ActionListener//建立自己的窗体
{
JLabel label_1,label_2;
JPanel JPanel_1;
JTextArea text;
JButton button;
JScrollPane scrollpane;

Mywindow()
{//setResizable(false);
setSize(600,600);//窗体大小是100*100
setVisible(true);//窗体可见
Container contentpane=getContentPane();
contentpane.setLayout(new GridLayout(3,0));//窗体的布局是 3行
label_1=new JLabel("笑话标题",JLabel.CENTER);
label_2=new JLabel("本程序由 JAVA 编写",JLabel.CENTER);
button=new JButton("下一个");//按纽 下一个
text=new JTextArea(10,40);//文本框
scrollpane=new JScrollPane(text);//滚动窗口,并把 文本框 添加 到 滚动窗口中
JPanel_1=new JPanel();
//JPanel_1.setLayout(new GridLayout(0,1));
JPanel_1.add(scrollpane,new GridLayout(0,1));
JPanel_1.add(button,new GridLayout(0,1));
button.addActionListener(this);
contentpane.add(label_1,BorderLayout.NORTH);
contentpane.add(JPanel_1,BorderLayout.CENTER);
contentpane.add(label_2,BorderLayout.SOUTH);

//pack();
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==button)
try{Listxiaohua();}
catch(SQLException ee){}
}
public void Listxiaohua() throws SQLException
{String biaoti=new String();
String neirong=new String();
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e){}
Connection con=DriverManager.getConnection("jdbc:odbc:xh","luo","luo");
Statement sql=con.createStatement();
ResultSet rs=sql.executeQuery("SELECT*FROM xh");
while(rs.next())
{biaoti=rs.getString(2);
label_1.setText(biaoti);
neirong=rs.getString(3);
text.setText(neirong);
}
}
}
public class lianxi
{
public static void main(String args[])
{Mywindow win=new Mywindow();
//win.setSize(100,100);
win.pack();

}
};

问题是: 我按 “下一个” 这个按纽,就显示数据库的最后一条数据了。
再按的话就没反映了。 还有我想 第一条开始, 然后一条一条的显示下面的数据。。我该怎么做? 请教各位,谢谢!!!

2.Re:JAVA 和 数据库 的问题 [Re: 傲者芭蕾] Copy to clipboard
Posted by: 傲者芭蕾
Posted on: 2003-09-24 18:52

up!!

3.Re:JAVA 和 数据库 的问题 [Re: 傲者芭蕾] Copy to clipboard
Posted by: menzy
Posted on: 2003-09-24 19:09

处理逻辑都不通

4.Re:JAVA 和 数据库 的问题 [Re: 傲者芭蕾] Copy to clipboard
Posted by: 傲者芭蕾
Posted on: 2003-09-25 15:21

??

5.Re:JAVA 和 数据库 的问题 [Re: 傲者芭蕾] Copy to clipboard
Posted by: xman
Posted on: 2003-09-25 16:43

没写过数据库的程序,不过你的程序看起来执行了查询操作以后直接就
rs.next();
了,是不是应该先移动你的结果集到第一个记录之后再执行呢?
显示数据库的最后一条数据应该是因为查询完毕之后结果集的指针停留在你的结果的最后一个。

6.Re:JAVA 和 数据库 的问题 [Re: xman] Copy to clipboard
Posted by: hohaischooldays
Posted on: 2003-09-26 19:13

rs.next()不要用WHILE,就可以一个一个的显示,再用两个模拟指针标记
FIRST AND LAST,THEN YOU CAN ACCESS THE FIRST OR LAST IF YOU WANT 。

7.Re:JAVA 和 数据库 的问题 [Re: 傲者芭蕾] Copy to clipboard
Posted by: WINDDSY
Posted on: 2003-09-26 19:18

Listxiaohua() 应该有个参数,否则只限是最后一条。因为你每次都是取得所有记录,一循环,只是最后一条。应该加where条件,一次取一条记录。

8.Re:JAVA 和 数据库 的问题 [Re: 傲者芭蕾] Copy to clipboard
Posted by: dwju
Posted on: 2003-09-27 09:06

不是吧,这样的思路读有?PFPF!!!

9.Re:JAVA 和 数据库 的问题 [Re: 傲者芭蕾] Copy to clipboard
Posted by: jiwolf
Posted on: 2003-10-08 13:54

应该通过按钮的事件触发RS.NEXT()


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923