【发布时间】:2011-09-09 00:12:02
【问题描述】:
我在 MYSQL 中创建了一个简单的数据库,我试图从用 Eclipse 编写的 java 程序中提取数据。当我在eclipse中运行程序时,它可以很好地提取数据,但是当我将程序导出到可运行的JAR中时,它就不起作用了!!
我已经通过使用构建路径中的“添加外部存档”功能添加了 mysql 连接器,并使用
检查了它的存在System.out.println("classpath = " + System.getProperty("java.class.path"));
它给出了结果: 类路径 = C:\Users\Andy\workspace\test2\bin;C:\Users\Admin\Desktop\mysql-connector-java-5.1.16\mysql-connector-java-5.1.16-bin.jar
我也打开了导出的JAR文件,看到已经添加了连接器。
这是我正在使用的代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class test
{
public static void main(String args[])
{
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection dbConn = DriverManager.getConnection("jdbc:mysql://localhost:3306/cambridge","root","P@ssw0rd");
System.out.println("classpath = " + System.getProperty("java.class.path"));
Statement stmt = dbConn.createStatement();
String strSQL = "Select * from customer_details";
ResultSet rs = stmt.executeQuery(strSQL);
ResultSetMetaData rsmd = rs.getMetaData();
int nCol = rsmd.getColumnCount();
while(rs.next())
{
for(int col=1; col<=nCol; col++)
{
System.out.print(rs.getString(col));
JOptionPane.showMessageDialog(null, rs.getString(col));
}
System.out.println();
}
System.out.println();
dbConn.close();
}
catch (Exception excp)
{
excp.printStackTrace();
}
}
}
提前感谢您提供的任何帮助!!!
【问题讨论】:
-
“它就是行不通!!”是什么意思?当然,如果发生故障,就会产生堆栈跟踪。
-
您看到的异常是什么?
-
不,没有任何结果。我尝试打开 JAR 文件,它想了一会儿(圆圈图标出现)然后什么也没有。我尝试了一组不同的代码,在按下按钮后连接到数据库,程序加载,但同样,当你按下按钮时,什么也没有发生!
-
对不起,没有异常显示。从字面上看,什么都不会发生。我已经尝试对此进行研究,遇到类似问题的每个人都提到确保类路径是正确的。我很确定我已经完成了这部分,所以我现在不知道该尝试什么!
-
您是否尝试过删除 JOptionPane 并从控制台运行它?
标签: java mysql eclipse database-connection