这个程序在上一条、下一条以及更新这几个功能里多次调试总是不正确,不知哪里出的问题?
请各位帮忙解决一下,谢谢~~~import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Calendar;public class TestSQL{
private Frame fMain;
private Panel pDown,pCenter,pCenter1,pCenter2,pUp;
private Button bConn,bClose,bExit,bFirst,bLast,bNext,bPrevious,bUpdate,bInsert,bDel;
private Label lId,lName,lDate,lsx,lwl,lyy,lStateShow,lError;
private TextField tfId,tfName,tfDate,tfsx,tfwl,tfyy;
Connection conn = null;
Statement stat = null;
String sql = "SELECT * FROM score";
ResultSet rs = null;
public TestSQL(){ //事件
//连接
bConn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
// Connection conn = null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:Test");
lStateShow.setText("已连接");
lError.setText("错误提示");
tfId.setText("");
tfName.setText("");
tfDate.setText("");
tfsx.setText("");
tfwl.setText("");
tfyy.setText("");
bFirst.setEnabled(true);
bPrevious.setEnabled(true);
bNext.setEnabled(true);
bLast.setEnabled(true);
bUpdate.setEnabled(true);
bInsert.setEnabled(true);
bDel.setEnabled(true);
bConn.setEnabled(false);
bClose.setEnabled(true);
}
catch (ClassNotFoundException cnfe){
cnfe.printStackTrace();
}
catch (SQLException sqle){
sqle.printStackTrace();
}
}
});
//关闭连接
bClose.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
if (conn != null){
try{
conn.close();
lStateShow.setText("已断开");
bFirst.setEnabled(false);
bPrevious.setEnabled(false);
bNext.setEnabled(false);
bLast.setEnabled(false);
bUpdate.setEnabled(false);
bInsert.setEnabled(false);
bDel.setEnabled(false);
bConn.setEnabled(true);
bClose.setEnabled(false);
}
catch (SQLException sqle){
sqle.printStackTrace();
}
}
}
}); //退出
bExit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
fMain.dispose();
System.exit(0);
}
});
fMain.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
fMain.dispose();
System.exit(0);
}
});
//首记录
bFirst.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stat.executeQuery(sql);
if (rs.first()){
fun();
}
else{
lError.setText("错误");
}
}
catch (SQLException sqle){
sqle.printStackTrace();
lError.setText("错误");
}
}
}); //尾记录
bLast.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stat.executeQuery(sql);
if (rs.last()){
fun();
}
else{
lError.setText("错误");
}
}
catch (SQLException sqle){
sqle.printStackTrace();
lError.setText("错误");
}
}
}); //上一条
bPrevious.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stat.executeQuery(sql);
if (rs.previous()){
System.out.println("true");
fun();
}
else{
lError.setText("无记录");
System.out.println("false");
}
}
catch (SQLException sqle){
sqle.printStackTrace();
lError.setText("错误");
}
}
}); //下一条
bNext.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stat.executeQuery(sql);
if (rs.next()){
System.out.println("true");
fun();
}
else{
System.out.println("false");
lError.setText("无记录");
}
}
catch (SQLException sqle){
sqle.printStackTrace();
lError.setText("错误");
}
}
}); //更新
bUpdate.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stat.executeQuery(sql);
rs.updateInt("id",Integer.parseInt(lId.getText()));
rs.updateString("name",lName.getText());
rs.updateDate("birthday",java.sql.Date.valueOf(lDate.getText()));
rs.updateInt("sx",Integer.parseInt(lsx.getText()));
rs.updateInt("wl",Integer.parseInt(lwl.getText()));
rs.updateInt("yy",Integer.parseInt(lyy.getText()));
rs.updateRow();
}
catch (SQLException sqle){
sqle.printStackTrace();
}
}
});
} //提取记录
public void fun(){
try{
String id = rs.getString("Id");
tfId.setText(id); String name = rs.getString("name");
tfName.setText(name); Date birthday = rs.getDate("birthday");
Calendar ca = Calendar.getInstance();
ca.setTime(birthday);
int year = ca.get(Calendar.YEAR);
int month = ca.get(Calendar.MONTH) + 1;
int day = ca.get(Calendar.DATE);
tfDate.setText(String.valueOf(year) + "-" + String.valueOf(month) + "-" + String.valueOf(month)); String sx = rs.getString("sx");
tfsx.setText(sx); String wl = rs.getString("wl");
tfwl.setText(wl); String yy = rs.getString("yy");
tfyy.setText(yy);
}
catch (SQLException sqle){
sqle.printStackTrace();
}
}
public static void main(String[] args){
TestSQL ts = new TestSQL();
}
}
请各位帮忙解决一下,谢谢~~~import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Calendar;public class TestSQL{
private Frame fMain;
private Panel pDown,pCenter,pCenter1,pCenter2,pUp;
private Button bConn,bClose,bExit,bFirst,bLast,bNext,bPrevious,bUpdate,bInsert,bDel;
private Label lId,lName,lDate,lsx,lwl,lyy,lStateShow,lError;
private TextField tfId,tfName,tfDate,tfsx,tfwl,tfyy;
Connection conn = null;
Statement stat = null;
String sql = "SELECT * FROM score";
ResultSet rs = null;
public TestSQL(){ //事件
//连接
bConn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
// Connection conn = null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:Test");
lStateShow.setText("已连接");
lError.setText("错误提示");
tfId.setText("");
tfName.setText("");
tfDate.setText("");
tfsx.setText("");
tfwl.setText("");
tfyy.setText("");
bFirst.setEnabled(true);
bPrevious.setEnabled(true);
bNext.setEnabled(true);
bLast.setEnabled(true);
bUpdate.setEnabled(true);
bInsert.setEnabled(true);
bDel.setEnabled(true);
bConn.setEnabled(false);
bClose.setEnabled(true);
}
catch (ClassNotFoundException cnfe){
cnfe.printStackTrace();
}
catch (SQLException sqle){
sqle.printStackTrace();
}
}
});
//关闭连接
bClose.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
if (conn != null){
try{
conn.close();
lStateShow.setText("已断开");
bFirst.setEnabled(false);
bPrevious.setEnabled(false);
bNext.setEnabled(false);
bLast.setEnabled(false);
bUpdate.setEnabled(false);
bInsert.setEnabled(false);
bDel.setEnabled(false);
bConn.setEnabled(true);
bClose.setEnabled(false);
}
catch (SQLException sqle){
sqle.printStackTrace();
}
}
}
}); //退出
bExit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
fMain.dispose();
System.exit(0);
}
});
fMain.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
fMain.dispose();
System.exit(0);
}
});
//首记录
bFirst.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stat.executeQuery(sql);
if (rs.first()){
fun();
}
else{
lError.setText("错误");
}
}
catch (SQLException sqle){
sqle.printStackTrace();
lError.setText("错误");
}
}
}); //尾记录
bLast.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stat.executeQuery(sql);
if (rs.last()){
fun();
}
else{
lError.setText("错误");
}
}
catch (SQLException sqle){
sqle.printStackTrace();
lError.setText("错误");
}
}
}); //上一条
bPrevious.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stat.executeQuery(sql);
if (rs.previous()){
System.out.println("true");
fun();
}
else{
lError.setText("无记录");
System.out.println("false");
}
}
catch (SQLException sqle){
sqle.printStackTrace();
lError.setText("错误");
}
}
}); //下一条
bNext.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stat.executeQuery(sql);
if (rs.next()){
System.out.println("true");
fun();
}
else{
System.out.println("false");
lError.setText("无记录");
}
}
catch (SQLException sqle){
sqle.printStackTrace();
lError.setText("错误");
}
}
}); //更新
bUpdate.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stat.executeQuery(sql);
rs.updateInt("id",Integer.parseInt(lId.getText()));
rs.updateString("name",lName.getText());
rs.updateDate("birthday",java.sql.Date.valueOf(lDate.getText()));
rs.updateInt("sx",Integer.parseInt(lsx.getText()));
rs.updateInt("wl",Integer.parseInt(lwl.getText()));
rs.updateInt("yy",Integer.parseInt(lyy.getText()));
rs.updateRow();
}
catch (SQLException sqle){
sqle.printStackTrace();
}
}
});
} //提取记录
public void fun(){
try{
String id = rs.getString("Id");
tfId.setText(id); String name = rs.getString("name");
tfName.setText(name); Date birthday = rs.getDate("birthday");
Calendar ca = Calendar.getInstance();
ca.setTime(birthday);
int year = ca.get(Calendar.YEAR);
int month = ca.get(Calendar.MONTH) + 1;
int day = ca.get(Calendar.DATE);
tfDate.setText(String.valueOf(year) + "-" + String.valueOf(month) + "-" + String.valueOf(month)); String sx = rs.getString("sx");
tfsx.setText(sx); String wl = rs.getString("wl");
tfwl.setText(wl); String yy = rs.getString("yy");
tfyy.setText(yy);
}
catch (SQLException sqle){
sqle.printStackTrace();
}
}
public static void main(String[] args){
TestSQL ts = new TestSQL();
}
}
解决方案 »
- JList中,当鼠标移动到某一项上时就高亮显示,该怎么做这个事件?
- 再问一个关于线程的问题!
- new shell的问题.
- The wrapper classes cannot be used like primitives这句话是什么意思
- 求助!!怎样用java 写文件时,实现换行操作
- 两个基础问题请教?
- 项目里面包含音频文件,怎么包音频文件打包进jar?
- 在java JFrame里面动态改变菜单怎么要手工调整一下窗体大小才能正确显示呢?
- Java中的回车换行字符是什么?急,谢
- 杭电acm 1002 为什么A不去
- 怎么能让一个画面(比如JFRAME)刚运行的时候,位于屏幕的正中间?
- 小声问一声JBoss是什么啊
但在运行时的结果不对.
主要在上一条、下一条以及更新这几个按钮功能实现不对。 //上一条
bPrevious.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stat.executeQuery(sql);
if (rs.previous()){
System.out.println("true");
fun(rs);
}
else{
lError.setText("无记录");
System.out.println("false");
}
}
catch (SQLException sqle){
sqle.printStackTrace();
lError.setText("错误");
}
}
}); //下一条
bNext.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stat.executeQuery(sql);
if (rs.next()){
System.out.println("true");
fun(rs);
}
else{
System.out.println("false");
lError.setText("无记录");
}
}
catch (SQLException sqle){
sqle.printStackTrace();
lError.setText("错误");
}
}
}); //更新
bUpdate.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stat.executeQuery(sql);
rs.updateInt("id",Integer.parseInt(lId.getText()));
rs.updateString("name",lName.getText());
rs.updateDate("birthday",java.sql.Date.valueOf(lDate.getText()));
rs.updateInt("sx",Integer.parseInt(lsx.getText()));
rs.updateInt("wl",Integer.parseInt(lwl.getText()));
rs.updateInt("yy",Integer.parseInt(lyy.getText()));
rs.updateRow();
}
catch (SQLException sqle){
sqle.printStackTrace();
}
}
});
} //提取记录
public void fun(ResultSet rs){
try{
String id = rs.getString("Id");
tfId.setText(id); String name = rs.getString("name");
tfName.setText(name); Date birthday = rs.getDate("birthday");
Calendar ca = Calendar.getInstance();
ca.setTime(birthday);
int year = ca.get(Calendar.YEAR);
int month = ca.get(Calendar.MONTH) + 1;
int day = ca.get(Calendar.DATE);
tfDate.setText(String.valueOf(year) + "-" + String.valueOf(month) + "-" + String.valueOf(month)); String sx = rs.getString("sx");
tfsx.setText(sx); String wl = rs.getString("wl");
tfwl.setText(wl); String yy = rs.getString("yy");
tfyy.setText(yy);
}
catch (SQLException sqle){
sqle.printStackTrace();
}
}