在主机上运行良好,mysql也设好了,可以外部IP访问。
当把程序放到虚拟机里时,就不行了,加了很多语句后,发现只在“链接错误0”弹出了对话框,后面的Class.forName("com.mysql.jdbc.Driver");执行没有?为什么呢?
if(ID && PASSWORD && jComboBox.getSelectedItem()=="学生"){
try {
JOptionPane.showMessageDialog(lab3, "链接错误0","提示",JOptionPane.INFORMATION_MESSAGE);
Class.forName("com.mysql.jdbc.Driver");
JOptionPane.showMessageDialog(lab3, "链接错误1","提示",JOptionPane.INFORMATION_MESSAGE);
conn = DriverManager.getConnection(LoginFrame.IP,"admin", "admin");//Connection
JOptionPane.showMessageDialog(lab3, "链接错误2","提示",JOptionPane.INFORMATION_MESSAGE);
stmt = conn.createStatement();//Statement
JOptionPane.showMessageDialog(lab3, "链接错误3","提示",JOptionPane.INFORMATION_MESSAGE);
SQL = "select * from Student where stuID='" + c_username.getText() + "' and stuPwd='"+ String.valueOf(c_password.getPassword())+"'";
rs = stmt.executeQuery(SQL);
JOptionPane.showMessageDialog(lab3, "链接错误4","提示",JOptionPane.INFORMATION_MESSAGE);
boolean m = false; //判断是否帐号密码错误.false为失败.
当把程序放到虚拟机里时,就不行了,加了很多语句后,发现只在“链接错误0”弹出了对话框,后面的Class.forName("com.mysql.jdbc.Driver");执行没有?为什么呢?
if(ID && PASSWORD && jComboBox.getSelectedItem()=="学生"){
try {
JOptionPane.showMessageDialog(lab3, "链接错误0","提示",JOptionPane.INFORMATION_MESSAGE);
Class.forName("com.mysql.jdbc.Driver");
JOptionPane.showMessageDialog(lab3, "链接错误1","提示",JOptionPane.INFORMATION_MESSAGE);
conn = DriverManager.getConnection(LoginFrame.IP,"admin", "admin");//Connection
JOptionPane.showMessageDialog(lab3, "链接错误2","提示",JOptionPane.INFORMATION_MESSAGE);
stmt = conn.createStatement();//Statement
JOptionPane.showMessageDialog(lab3, "链接错误3","提示",JOptionPane.INFORMATION_MESSAGE);
SQL = "select * from Student where stuID='" + c_username.getText() + "' and stuPwd='"+ String.valueOf(c_password.getPassword())+"'";
rs = stmt.executeQuery(SQL);
JOptionPane.showMessageDialog(lab3, "链接错误4","提示",JOptionPane.INFORMATION_MESSAGE);
boolean m = false; //判断是否帐号密码错误.false为失败.
你的mysql的jar包传过去了么?
虚拟机 中的环境配好了吗?
哥们,这个作用相当于new com.mysql.jdbc.Driver();
目的是为了让 环境中有此对象
如果你没对应的类 要抛出 ClassNotFoundException 的