求助~~!java:简单超市管理系统出错:java.sql.SQLException: Column not found
不清楚在那出错, 就是要Table 显示出数据库里面的所有记录, 但显示不出来, 报错误,错误就是:java.sql.SQLException: Column not found
我的源代码如下, 请各位高手帮个忙,指示好吗, 我是刚开始学JAVA的。。。感激不尽~~~~~~~~~~
数据库是:access数据库, 有两个表, 一个是:admin 是用户表; 另一个是:market是商品表;
admin 表有两个字段:用户名和密码;
market 表有6个字段:序号,商品名称,商品类别,商品价格,进货价格,保质期和备注;
import java.awt.*;
//import java.lang.*;
import javax.swing.*;
import java.awt.event.*;
//import javax.swing.border.*;
import javax.swing.JOptionPane;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.table.DefaultTableModel;
//import javax.swing.table.TableColumn;
import java.sql.*;
import java.awt.GridLayout;
public class kader {
public kader() {
}
public static void main(String[] args) {
// TODO code application logic here
loginFrame lf=new loginFrame();
lf.setVisible(true);
lf.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
}
//主界面
class mainFrame extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
JPanel p1=new JPanel();
JButton b=new JButton();
JButton b1,b2,b3,b4;
public JTable table = new JTable();
public DefaultTableModel mm ;
public mainFrame(){
p1=new JPanel();
b1=new JButton("添加");
b2=new JButton("删除");
b3=new JButton("修改");
b4=new JButton("查找");
p1.setLayout(null);
p1.setSize(440, 110);
p1.setVisible(true);
p1.setLocation(30,440);
//button1
b1.setSize(80, 40);
b1.setVisible(true);
b1.setLocation(0,10);
p1.add(b1);
///button2
b2.setSize(80, 40);
b2.setVisible(true);
b2.setLocation(110,10);
p1.add(b2);
///button3
b3.setSize(80, 40);
b3.setVisible(true);
b3.setLocation(220,10);
p1.add(b3);
///button4
b4.setSize(80, 40);
b4.setVisible(true);
b4.setLocation(330,10);
p1.add(b4);
this.add(p1);
table.setSize(500,440);
table.setVisible(true);
String[] col = {"序号","商品名称","商品类别","商品价格","进货价格","质保期","备注"};//创建属性列名
mm= new DefaultTableModel(col,0);
table.setModel(mm);
JScrollPane tableScrollPane = new JScrollPane(table);
this.add(tableScrollPane);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
}
public void freshTable(String sql){
myConnection conn=new myConnection();
ResultSet rs;
rs=conn.getResult(sql);
if (rs!=null){
try{
mm.setRowCount(0);
table.setModel(mm);
//this.freshTable("select * from market");
while(rs.next()){
String 序号 = rs.getString("序号");
String 商品名称 = rs.getString("商品名称");
String 商品类别 = rs.getString("商品类别");
String 商品价格 = rs.getString("商品价格");
String 进货价格 = rs.getString("进货价格");
String 质保期 = rs.getString("质保期");
String 备注 = rs.getString("备注");
String[] cloumns ={序号,商品名称,商品类别,商品价格,进货价格,质保期,备注};
mm.addRow(cloumns);
}
table.setModel(mm);
}catch(Exception e){
System.out.println(e.toString());
}
}
}
public void actionPerformed(ActionEvent e){
//查找
if(e.getSource()==b4){
findFrame ff=new findFrame(this);
ff.setVisible(true);
}
//添加
else if(e.getSource()==b1){
addFrame af=new addFrame(this);
af.setVisible(true);
//修改
}else if(e.getSource()==b3){
if (table.getSelectedRow()==-1){
JOptionPane.showMessageDialog(null, "请选择你要修改的内容", "提示", JOptionPane.INFORMATION_MESSAGE);
}else{
editFrame ef=new editFrame(this);
ef.序号.setText((String)table.getValueAt(table.getSelectedRow(),0));
ef.商品名称.setText((String)table.getValueAt(table.getSelectedRow(),1));
ef.商品类别.setText((String)table.getValueAt(table.getSelectedRow(),2));
ef.商品价格.setText((String)table.getValueAt(table.getSelectedRow(),3));
ef.进货价格.setText((String)table.getValueAt(table.getSelectedRow(),4));
ef.质保期.setText((String)table.getValueAt(table.getSelectedRow(),5));
ef.备注.setText((String)table.getValueAt(table.getSelectedRow(),6));
ef.setVisible(true);
this.freshTable("select * from market");
}
//删除
}else if(e.getSource()==b2){
if (table.getSelectedRow()==-1){
JOptionPane.showMessageDialog(null, "请选择你要删除的行", "提示", JOptionPane.INFORMATION_MESSAGE);
}else {
String sql="delete * from market where 序号 = '"+table.getValueAt(table.getSelectedRow(),0)+"'";
myConnection conn=new myConnection();
if (conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, "成功删除", "提示", JOptionPane.INFORMATION_MESSAGE);
this.freshTable("select * from market");
}else {
JOptionPane.showMessageDialog(null, "未知错误", "删除失败", JOptionPane.INFORMATION_MESSAGE);
}
}
}
}
}
//连接数据库
class myConnection{
ResultSet re;
String strurl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=kader.mdb";
public myConnection(){}
public ResultSet getResult(String sql){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection(strurl);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet re=stmt.executeQuery(sql);
return re;
}
catch(Exception e){
System.out.println("getResult------"+e.toString());
return null;
}
}
public boolean executeSql(String sql){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection(strurl);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
conn.commit();
return true;
}
catch(Exception e){
System.out.println("executeSql----"+e.toString());
return false;
}
}
}
//添加模块
class addFrame extends JDialog implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
public static final int WIDTH = 400;
public static final int HEIGHT = 400;
JLabel 序号1,商品名称1,商品类别1,商品价格1,进货价格1,质保期1,备注1;
JTextField 序号,商品名称,商品类别,商品价格,进货价格,质保期,备注;
JButton b;
JPanel p;
mainFrame mf;
public addFrame(mainFrame mmf){
setTitle("添加商品");
setSize(WIDTH,HEIGHT);
setLocation(120,180);
Container contentPane = getContentPane();
contentPane.setLayout(new FlowLayout());
序号1=new JLabel("序号");
商品名称1=new JLabel("商品名称");
商品类别1=new JLabel("商品类别");
商品价格1=new JLabel("商品价格");
进货价格1=new JLabel("进货价格");
质保期1=new JLabel("质保期");
备注1=new JLabel("备注");
序号=new JTextField(5);
商品名称=new JTextField(5);
商品类别=new JTextField(5);
商品价格=new JTextField(5);
进货价格=new JTextField(5);
质保期=new JTextField(5);
备注=new JTextField(10);
b=new JButton("确定");
p=new JPanel();
p.setLayout(new GridLayout(10,2,5,5));
p.add(序号1);
p.add(序号);
p.add(商品名称1);
p.add(商品名称);
p.add(商品类别1);
p.add(商品类别);
p.add(商品价格1);
p.add(商品价格);
p.add(进货价格1);
p.add(进货价格);
p.add(质保期1);
p.add(质保期);
p.add(备注1);
p.add(备注);
p.add(new Label(""));
p.add(new Label(""));
p.add(b);
contentPane.add(p);
//添加按钮监听器
b.addActionListener(this);
mf=mmf;
}
public void actionPerformed(ActionEvent e){
if (序号.getText().toString().equals("")){
JOptionPane.showMessageDialog(null, "请输入序号", "提示", JOptionPane.INFORMATION_MESSAGE);
}else if (商品名称.getText().toString().equals("")){
JOptionPane.showMessageDialog(null, "请输入商品名称", "提示", JOptionPane.INFORMATION_MESSAGE);
}else if (进货价格.getText().toString().equals("")){
JOptionPane.showMessageDialog(null, "请输入进货价格", "提示", JOptionPane.INFORMATION_MESSAGE);
}else{
String sql="select * from market where 序号='"+ 序号.getText() +"'";
myConnection conn=new myConnection();
ResultSet rs;
rs=conn.getResult(sql);
try{
//System.out.println(rs.getRow());
if (rs.next()){
JOptionPane.showMessageDialog(null, "此序号已经存在", "提示", JOptionPane.INFORMATION_MESSAGE);
}else{
sql="insert into market values('"+ 序号.getText() +"','"+ 商品名称.getText() +"','"+ 商品类别.getText() +"','"+ 商品价格.getText() +"',"+ 进货价格.getText() +",'"+ 质保期.getText() +"','"+ 备注.getText() +"')";
if (conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, "添加成功", "提示", JOptionPane.INFORMATION_MESSAGE);
mf.freshTable("select * from market");
序号.setText("");
商品名称.setText("");
商品类别.setText("");
商品价格.setText("");
进货价格.setText("");
质保期.setText("");
备注.setText("");
}else{
JOptionPane.showMessageDialog(null, "添加失败", "提示", JOptionPane.INFORMATION_MESSAGE);
}
}
}catch(Exception er){
System.out.println(er.toString());
}
}
}
}