首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

哪位热心人,可以建立一个上面的数据库,这个数据库很简单的,可能只需要五分钟就能搞定,将代码COPY一份,在计算机上运行一下,给小弟我找找原因

2011-11-20 
哪位热心人,可以建立一个上面的数据库,这个数据库很简单的,可能只需要五分钟就能搞定,将代码COPY一份,在计

哪位热心人,可以建立一个上面的数据库,这个数据库很简单的,可能只需要五分钟就能搞定,将代码COPY一份,在计算机上运行一下,给我找找原因.
import   java.sql.*;
import   java.awt.event.*;
import   javax.swing.*;
class   sqlTest
{


public   static   void   main(String[]   args)
{
JFrame   jf=new   JFrame( "The   system   of   Student   informaton ");
jf.setSize(600,400);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel   jp=new   JPanel();
JLabel   jl=new   JLabel( "Please   input   student 's   IDnumber ");
final   JTextField   jtf=new   JTextField(15);
final   JTextArea   jta=new   JTextArea();
JButton   jb=new   JButton( "Select ");
jf.getContentPane().add(jp, "North ");
    jf.getContentPane().add(jta, "Center ");
    jf.getContentPane().add(jb, "South ");
    jp.add(jl);
    jp.add(jtf);
    jf.setVisible(true);
    jb.addActionListener(new   ActionListener()
    {
    public   void   actionPerformed(ActionEvent   e)
    {
    Connection   conn=null;
Statement   stmt=null;
ResultSet   rs=null;
try
{
      Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
}
catch(ClassNotFoundException   ce)
{
      ce.printStackTrace();  
      //System.out.println( "my   a   ClassNotFoundException   wrong ");
}
try
{
    conn=DriverManager.getConnection( "jdbc:odbc:test: ");
    stmt=conn.createStatement();
    String   strNumber=jtf.getText();
    String   strSql= "select   *   from   grade   where   StuNumber=strNumber ";
    rs=stmt.executeQuery(strSql);
    String   strline=System.getProperty( "line.separator ");
    while(rs.next())
    {
          jta.append(rs.getString( "学号 "));
          jta.append(strline);
          jta.append(rs.getString( "姓名 "));
          jta.append(strline);
          jta.append(rs.getString( "语文 "));
          jta.append(strline);
          jta.append(rs.getString( "数学 "));
          jta.append(strline);
          jta.append(rs.getString( "英语 "));
    }
}
catch(SQLException   se)
{
      se.printStackTrace();
      //System.out.println( "my   a   executeQueryException   wrong ");
}
finally
{
try
{
conn.close();
stmt.close();
}
catch(SQLException   sqe)
{
sqe.printStackTrace();
//System.out.println( "my   connectionException   wrong ");
}
}

    }
    });
}


}
后台数据库为sqlserver   2000,在JDK1.5中运行时总是提示找不到列名StrNumber,
数据库为FirData   的描述名为test,
表grade   中有五个字段:StuNumber,姓名,语文,数学,英语.


[解决办法]
jta.append(rs.getString( "学号 "));

你的数据库表中并没有 "学号 "这个列啊??? 你建立的是StuNumber..

给你两条建议:
1. 数据库表名和列名都不要用中文, 现在就把数据库改过来
2. rs.getString(columnName), 也可以使用rs.getString(index), index是列号1, 2, 3, 4, 5

取出数据库的顺序必须与数据表列(select语句)的顺序一致, 否则会出问题


[解决办法]
楼上的有道理

数据库中的内容和你rs获取的内容不一致
会报错的
[解决办法]
数据库的列名最好都大写,写程序如果按照规范来会减少很多不必要的麻烦~
[解决办法]
conn=DriverManager.getConnection( "jdbc:odbc:test: ");

-----------------------------------------------------
这句没错么?test后面多了个冒号。
[解决办法]
uppp

热点排行