当前位置: 技术问答>java相关
我作了一个可执行jar文件,但是,不能连接数据库,也没有抛出异常,是怎么回事?
来源: 互联网 发布时间:2015-11-04
本文导语: 我作了一个可执行jar文件,但是,不能连接数据库,也没有抛出异常,是怎么回事?当然,用java命令的话,一定可以连接数据库的 主要代码如下,数据库很简单,自己可以建一个。 代码: import java.awt.*; import java.ne...
我作了一个可执行jar文件,但是,不能连接数据库,也没有抛出异常,是怎么回事?当然,用java命令的话,一定可以连接数据库的
主要代码如下,数据库很简单,自己可以建一个。
代码:
import java.awt.*;
import java.net.*;
import java.sql.*;
import javax.naming.*;
import java.awt.event.*;
public class Example2
{ public static void main(String args[])
{ Window window=new Window();
window.pack();
}
}
class Window extends Frame implements ActionListener
{ TextArea text;
Panel panel;
TextField xingmin;
Button button1,button2;
Window()
{ super("成绩查询");
setLayout(new BorderLayout());
setBackground(Color.cyan);
setBounds(150,150,300,120);
setVisible(true);
text=new TextArea();
button1=new Button("确定");
button2=new Button("查询所有人的成绩");
xingmin=new TextField(16);
panel=new Panel();
panel.add(new Label("输入被查询的学生的姓名"));
panel.add(xingmin);
panel.add(button1);
add("North",panel);
add(text,"Center");
add(button2,"South");
text.setEditable(false);
text.setBackground(Color.pink);
button1.addActionListener(this);
button2.addActionListener(this);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ setVisible(false);
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==button1)
{text.setText("查询结果"+'n');
try{ ListStudent1();}
catch(SQLException ee) {}
}
else if(e.getSource()==button2)
{text.setText("查询结果"+'n');
try{ ListStudent2();}
catch(SQLException ee) {}
}
}
public void ListStudent1() throws SQLException
{ String name;
int math,english,physics,sum;
try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch(ClassNotFoundException e)
{ e.printStackTrace (); }
Connection con = null;
try
{con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=my_db","sa","65683947");
}catch(Exception e)
{e.printStackTrace ();}
text.append("已经成功连接到数据库!!");
Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=sql.executeQuery("SELECT * FROM chengjibiao");
while(rs.next())
{
name=rs.getString("姓名");
math=rs.getInt("数学");
physics=rs.getInt("物理");
english=rs.getInt("英语");
sum=english+math+physics;
if((name.trim()).equals(xingmin.getText().trim()))
{ text.append("****"+"n"+name+"的成绩:"+"n"+"数学:"+math+"英语:"+english+"物理:"+physics+"总分:"+sum+'n');
}
}
if((text.getText().trim()).equals("查询结果"))
{ text.setText("没有该人的成绩!!");}
}
public void ListStudent2() throws SQLException
{ String name;
int math,english,physics,sum;
try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch(ClassNotFoundException e)
{
e.printStackTrace ();
}
Connection con = null;
try
{
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=my_db","sa","65683947");
}catch(Exception e)
{
e.printStackTrace ();
}
Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=sql.executeQuery("select * from chengjibiao");
while(rs.next())
{ name=rs.getString("姓名");
math=rs.getInt("数学");
physics=rs.getInt("物理");
english=rs.getInt("英语");
sum=english+math+physics;
text.append("****"+"n"+name+"的成绩:"+"n"+"数学:"+math+"英语:"+english+"物理:"+physics+"总分:"+sum+'n');
}
}
}
数据库:
CREATE TABLE chengjibiao(
姓名 VARCHAR(20) NOT NULL PRIMARY KEY,
数学 INT,
物理 INT,
英语 INT
)
谁能解决这个问题,高分赠送。
主要代码如下,数据库很简单,自己可以建一个。
代码:
import java.awt.*;
import java.net.*;
import java.sql.*;
import javax.naming.*;
import java.awt.event.*;
public class Example2
{ public static void main(String args[])
{ Window window=new Window();
window.pack();
}
}
class Window extends Frame implements ActionListener
{ TextArea text;
Panel panel;
TextField xingmin;
Button button1,button2;
Window()
{ super("成绩查询");
setLayout(new BorderLayout());
setBackground(Color.cyan);
setBounds(150,150,300,120);
setVisible(true);
text=new TextArea();
button1=new Button("确定");
button2=new Button("查询所有人的成绩");
xingmin=new TextField(16);
panel=new Panel();
panel.add(new Label("输入被查询的学生的姓名"));
panel.add(xingmin);
panel.add(button1);
add("North",panel);
add(text,"Center");
add(button2,"South");
text.setEditable(false);
text.setBackground(Color.pink);
button1.addActionListener(this);
button2.addActionListener(this);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ setVisible(false);
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==button1)
{text.setText("查询结果"+'n');
try{ ListStudent1();}
catch(SQLException ee) {}
}
else if(e.getSource()==button2)
{text.setText("查询结果"+'n');
try{ ListStudent2();}
catch(SQLException ee) {}
}
}
public void ListStudent1() throws SQLException
{ String name;
int math,english,physics,sum;
try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch(ClassNotFoundException e)
{ e.printStackTrace (); }
Connection con = null;
try
{con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=my_db","sa","65683947");
}catch(Exception e)
{e.printStackTrace ();}
text.append("已经成功连接到数据库!!");
Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=sql.executeQuery("SELECT * FROM chengjibiao");
while(rs.next())
{
name=rs.getString("姓名");
math=rs.getInt("数学");
physics=rs.getInt("物理");
english=rs.getInt("英语");
sum=english+math+physics;
if((name.trim()).equals(xingmin.getText().trim()))
{ text.append("****"+"n"+name+"的成绩:"+"n"+"数学:"+math+"英语:"+english+"物理:"+physics+"总分:"+sum+'n');
}
}
if((text.getText().trim()).equals("查询结果"))
{ text.setText("没有该人的成绩!!");}
}
public void ListStudent2() throws SQLException
{ String name;
int math,english,physics,sum;
try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch(ClassNotFoundException e)
{
e.printStackTrace ();
}
Connection con = null;
try
{
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=my_db","sa","65683947");
}catch(Exception e)
{
e.printStackTrace ();
}
Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=sql.executeQuery("select * from chengjibiao");
while(rs.next())
{ name=rs.getString("姓名");
math=rs.getInt("数学");
physics=rs.getInt("物理");
english=rs.getInt("英语");
sum=english+math+physics;
text.append("****"+"n"+name+"的成绩:"+"n"+"数学:"+math+"英语:"+english+"物理:"+physics+"总分:"+sum+'n');
}
}
}
数据库:
CREATE TABLE chengjibiao(
姓名 VARCHAR(20) NOT NULL PRIMARY KEY,
数学 INT,
物理 INT,
英语 INT
)
谁能解决这个问题,高分赠送。
|
nobody_am(小兵) :
你可以用命令行这样运行:
java -jar 你的程序.jar
这样就会在Console中给出Exception
可执行jar默认是和javaw关联的,相当于
javaw -jar 你的程序.jar
是不会打开一个Console窗口的,也就看不到Exception
你可以用命令行这样运行:
java -jar 你的程序.jar
这样就会在Console中给出Exception
可执行jar默认是和javaw关联的,相当于
javaw -jar 你的程序.jar
是不会打开一个Console窗口的,也就看不到Exception
|
Exception在服务器console中显示,不要把它设成windows service
|
如果你用Win 9x/ME
那么在 运行 里打 command
如果用Win 2K/XP
那么打 cmd
就得到一个Console窗口,大致可以叫做一个“虚拟”的dos环境
如果你用的是 unix/linux
……那么没理由不知道什么是console :)
那么在 运行 里打 command
如果用Win 2K/XP
那么打 cmd
就得到一个Console窗口,大致可以叫做一个“虚拟”的dos环境
如果你用的是 unix/linux
……那么没理由不知道什么是console :)
|
the error message will show in the console .