[英]Eclipse Compiler error saying connection variable cannot be resolved to a type
這是我在Eclipse中編寫的Java代碼,用於從MySQL數據庫中檢索信息。但編譯器發出錯誤,說conn無法解析為某種類型..任何人都可以告訴我,我可能會做什么?
import java.sql.*;
public class plh {
static Connection conn=null;
static Statement s=null;
public static void main(String[] args){
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/wonkashop","root", "");
String st= new String("select * from users;");
s= new conn.createStatement(st);//ERROR.. why??
}
catch (Exception e) {
System.out.println("Unable to connect to Database");
}
}
}
從您的代碼行中刪除new
關鍵字。 您需要將Statement
作為:
s= conn.createStatement(); // createStatement doesn't take a String argument
DriverManager.getConnection()
已經返回一個Connection
對象,您已通過標識符conn
引用該對象,因此使用它來獲取Statement
。
如果要傳遞sql查詢字符串,請使用PreparedStatement
而不是Statement
。 那就是Connection#prepareStatement(sql)
。
聲明:
final String st= "select * from users;";
Statement s = conn.createStatement();
ResultSet rs = stmt.executeQuery(st);
PreparedStatement的:
final String st= "select * from users;";
PreparedStatement preparedStatement = conn.prepareStatement(st);
ResultSet rs = preparedStatement.executeQuery();
在這里
s= new conn.createStatement(st);//ERROR.. why??
不需要新的keyword
喜歡
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(credentials);
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(st);
改變這一行
s= new conn.createStatement(st);//ERROR.. why??
至
s= conn.createStatement();
返回一個新的默認Statement對象。
只是conn.createStatement();
。 不要在這里放new
,因為你沒有實例化一個類。
您應該只在類的名稱之前編寫new
,因為它會創建該類的對象。 但是在這里, conn
不是類的名稱 - 它只是引用某個類的現有對象的變量的名稱。
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/wonkashop", "root", "");
st= "select * from users";
s = conn.createStatement();// fixed
ResultSet rs = s.executeQuery(st);
while(rs.next()){
//Retrieve by column name
int id = rs.getInt("id");
String name = rs.getInt("name");
}
}
我有同樣的問題,並通過互聯網進行沖浪以獲得解決方案而沒有成功我將這些進口放入其中並且它對我有用。
import java.sql.*;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
我希望這可以幫助更多的人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.