我已经在数据库开发中连接了我的sql sever DB,并且我能够ping并获得响应,但是我的代码从我的应用程序连接到数据库以进行数据检索和存储目的不断收到相同的错误消息。
这是我的代码:
package com.first.mainapp;
import java.sql.DriverManager;
import java.sql.ResultSet;
import com.microsoft.sqlserver.jdbc.SQLServerStatement;
import com.mysql.jdbc.Statement;
public class Connect {
public static void main(String[] args) {
java.sql.Connection conn = null;
String dbName = "People_12";
String serverip="192.168.0.1";
String serverport="1433";
String url = "jdbc:sqlserver://"+serverip+"\\SQLEXPRESS:"+serverport+";databaseName="+dbName+"";
Statement stmt = null;
ResultSet result = null;
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String databaseUserName = "sa";
String databasePassword = "1234";
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url, databaseUserName, databasePassword);
stmt = (Statement) conn.createStatement();
result = null;
String pa,us;
result = stmt.executeQuery("select * from User_Table ");
while (result.next()) {
us=result.getString("uname");
pa = result.getString("pass");
System.out.println(us+" "+pa);
}
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
这是我的错误消息:
java.lang.ClassCastException: com.microsoft.sqlserver.jdbc.SQLServerStatement cannot be cast to com.mysql.jdbc.Statement
at com.first.mainapp.Connect.main(Connect.java:35)
我认为错误在于您的导入。 在这个例子中,他们使用import java.sql.*;
(具体来说,java.sql.Statement应该是Statement类型所需的导入)。 使用import com.mysql.jdbc.Statement;
,你会得到错误的Statement类型(对于mysql)。