数据库中,字段 :处方号 录入人 病人姓名 是否发药 是否有效 都是String类型的,日期是#2006-4-14#类型的,我用的数据库是access报错如下:java.sql.SQLException: Column not foundsql=SELECT recipe,register,dd,patient,flag,availability FROM 处方表 WHERE recipe='0001';Message:Column not found
SQLState:S0022
ERRORCode:0程序代码如下:import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
import java.awt.Rectangle;public class chufang extends JFrame {
JPanel contentPane;
JLabel number = new JLabel();
JButton search = new JButton();
private Connection conn = null;
private Statement stmt = null;
private ResultSet rs = null;
String title[]={"处方号","登记人","日期","病人姓名","是否发药","是否有效"};
Vector vector=null;
AbstractTableModel tm;
JButton jButton1 = new JButton();
JPanel leftpanel = new JPanel();
JPanel rightpanel = new JPanel();
GridLayout gridLayout1 = new GridLayout();
Font myfont=new Font("宋体", Font.PLAIN, 14);
JTextField chufID = new JTextField();
Calendar ca=new GregorianCalendar(); public chufang() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(gridLayout1);
setSize(new Dimension(346, 243));
setTitle("生成处方");
number.setFont(myfont);
number.setBorder(null);
number.setText("处方号:");
number.setBounds(new Rectangle(16, 60, 56, 16));
contentPane.setBackground(new Color(154, 201, 255));
search.setBounds(new Rectangle(7, 164, 61, 25));
search.setFont(myfont);
search.setToolTipText("");
search.setText("查找");
search.addActionListener(new chufang_add_actionAdapter(this));
jButton1.setBounds(new Rectangle(89, 164, 61, 25));
jButton1.setFont(myfont);
jButton1.setText("完成");
leftpanel.setLayout(null);
leftpanel.setBorder(BorderFactory.createEtchedBorder());
chufID.setBounds(new Rectangle(75, 59, 81, 22));
leftpanel.add(search);
leftpanel.add(jButton1);
leftpanel.add(number);
leftpanel.add(chufID);
contentPane.add(leftpanel);
contentPane.add(rightpanel);
createtable();
} void createtable()
{
JTable table =null;
JScrollPane jScrollPane1 = new JScrollPane();
vector=new Vector();
tm=new AbstractTableModel(){
public int getColumnCount()
{
return title.length;
}
public int getRowCount()
{
return vector.size();
}
public Object getValueAt(int row,int column)
{
if(!vector.isEmpty())
{
return ((Vector)vector.elementAt(row)).elementAt(column);
}
else
{
return null;
}
}
public void setValueAt(Object value,int row,int column){ }
public String getColumnName(int column)
{
return title[column];
}
public Class getColumnClass(int c)
{
return getValueAt(0,c).getClass();
}
public boolean isCellEditable(int row,int column)
{
return false;
}
};
table=new JTable(tm);
table.setToolTipText("Display Query Result");
table.setAutoResizeMode(table.AUTO_RESIZE_OFF);
table.setCellSelectionEnabled(false);
table.setShowHorizontalLines(true);
table.setShowVerticalLines(true);
jScrollPane1.getViewport().add(table);
rightpanel.add(jScrollPane1);
}
public void search_actionPerformed(ActionEvent actionEvent) {
String sql="SELECT recipe,register,dd,patient,flag,availability FROM 处方表 WHERE recipe='"
+chufID.getText()+"';";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:system");
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
vector.removeAllElements();
tm.fireTableStructureChanged();
System.out.println("\nsql=" + sql);
while(rs.next())
{
Vector rec_vector=new Vector();
rec_vector.addElement(rs.getString("处方号"));
rec_vector.addElement(rs.getString("录入人"));
rec_vector.addElement(rs.getDate("日期"));
rec_vector.addElement(rs.getString("病人姓名"));
rec_vector.addElement(rs.getString("是否发药"));
rec_vector.addElement(rs.getString("是否有效"));
vector.addElement(rec_vector);
}
tm.fireTableStructureChanged();
rs.close();
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
System.out.println("\nMessage:"+e.getMessage());
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("\nMessage:"+ex.getMessage());
System.out.println("SQLState:"+ex.getSQLState());
System.out.println("ERRORCode:"+ex.getErrorCode());
}
finally{
try
{
if(stmt!=null)
{
stmt.close();
}
if(conn!=null)
{
conn.close();
}
}
catch(SQLException ex)
{
ex.printStackTrace();
}
}
}
}
class chufang_add_actionAdapter implements ActionListener {
private chufang adaptee;
chufang_add_actionAdapter(chufang adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent actionEvent) {
adaptee.search_actionPerformed(actionEvent);
}
}不好意思,比较长。
哪位高人帮我看看,先谢过了
SQLState:S0022
ERRORCode:0程序代码如下:import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
import java.awt.Rectangle;public class chufang extends JFrame {
JPanel contentPane;
JLabel number = new JLabel();
JButton search = new JButton();
private Connection conn = null;
private Statement stmt = null;
private ResultSet rs = null;
String title[]={"处方号","登记人","日期","病人姓名","是否发药","是否有效"};
Vector vector=null;
AbstractTableModel tm;
JButton jButton1 = new JButton();
JPanel leftpanel = new JPanel();
JPanel rightpanel = new JPanel();
GridLayout gridLayout1 = new GridLayout();
Font myfont=new Font("宋体", Font.PLAIN, 14);
JTextField chufID = new JTextField();
Calendar ca=new GregorianCalendar(); public chufang() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(gridLayout1);
setSize(new Dimension(346, 243));
setTitle("生成处方");
number.setFont(myfont);
number.setBorder(null);
number.setText("处方号:");
number.setBounds(new Rectangle(16, 60, 56, 16));
contentPane.setBackground(new Color(154, 201, 255));
search.setBounds(new Rectangle(7, 164, 61, 25));
search.setFont(myfont);
search.setToolTipText("");
search.setText("查找");
search.addActionListener(new chufang_add_actionAdapter(this));
jButton1.setBounds(new Rectangle(89, 164, 61, 25));
jButton1.setFont(myfont);
jButton1.setText("完成");
leftpanel.setLayout(null);
leftpanel.setBorder(BorderFactory.createEtchedBorder());
chufID.setBounds(new Rectangle(75, 59, 81, 22));
leftpanel.add(search);
leftpanel.add(jButton1);
leftpanel.add(number);
leftpanel.add(chufID);
contentPane.add(leftpanel);
contentPane.add(rightpanel);
createtable();
} void createtable()
{
JTable table =null;
JScrollPane jScrollPane1 = new JScrollPane();
vector=new Vector();
tm=new AbstractTableModel(){
public int getColumnCount()
{
return title.length;
}
public int getRowCount()
{
return vector.size();
}
public Object getValueAt(int row,int column)
{
if(!vector.isEmpty())
{
return ((Vector)vector.elementAt(row)).elementAt(column);
}
else
{
return null;
}
}
public void setValueAt(Object value,int row,int column){ }
public String getColumnName(int column)
{
return title[column];
}
public Class getColumnClass(int c)
{
return getValueAt(0,c).getClass();
}
public boolean isCellEditable(int row,int column)
{
return false;
}
};
table=new JTable(tm);
table.setToolTipText("Display Query Result");
table.setAutoResizeMode(table.AUTO_RESIZE_OFF);
table.setCellSelectionEnabled(false);
table.setShowHorizontalLines(true);
table.setShowVerticalLines(true);
jScrollPane1.getViewport().add(table);
rightpanel.add(jScrollPane1);
}
public void search_actionPerformed(ActionEvent actionEvent) {
String sql="SELECT recipe,register,dd,patient,flag,availability FROM 处方表 WHERE recipe='"
+chufID.getText()+"';";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:system");
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
vector.removeAllElements();
tm.fireTableStructureChanged();
System.out.println("\nsql=" + sql);
while(rs.next())
{
Vector rec_vector=new Vector();
rec_vector.addElement(rs.getString("处方号"));
rec_vector.addElement(rs.getString("录入人"));
rec_vector.addElement(rs.getDate("日期"));
rec_vector.addElement(rs.getString("病人姓名"));
rec_vector.addElement(rs.getString("是否发药"));
rec_vector.addElement(rs.getString("是否有效"));
vector.addElement(rec_vector);
}
tm.fireTableStructureChanged();
rs.close();
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
System.out.println("\nMessage:"+e.getMessage());
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("\nMessage:"+ex.getMessage());
System.out.println("SQLState:"+ex.getSQLState());
System.out.println("ERRORCode:"+ex.getErrorCode());
}
finally{
try
{
if(stmt!=null)
{
stmt.close();
}
if(conn!=null)
{
conn.close();
}
}
catch(SQLException ex)
{
ex.printStackTrace();
}
}
}
}
class chufang_add_actionAdapter implements ActionListener {
private chufang adaptee;
chufang_add_actionAdapter(chufang adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent actionEvent) {
adaptee.search_actionPerformed(actionEvent);
}
}不好意思,比较长。
哪位高人帮我看看,先谢过了
rec_vector.addElement(rs.getString("录入人"));
rec_vector.addElement(rs.getDate("日期"));
rec_vector.addElement(rs.getString("病人姓名"));
rec_vector.addElement(rs.getString("是否发药"));
rec_vector.addElement(rs.getString("是否有效"));SELECT recipe,register,dd,patient,flag,availability FROM 处方表 WHERE recipe='"
+chufID.getText()+"你的字段到底是 处方号 还是recipe 要统一啊
数据库表是什么就要怎么用rs.getString("recipe "));自己其余的改一下