首先,我来自乌拉圭,我的母语是西班牙语,很抱歉我的英语:)
问题是:
您好,我是在Java中使用SQL的新手。我在尝试执行查询时遇到问题,问题是我发现如何连接到数据库,没关系,但是当我尝试在连接类之外进行查询时,我收到错误...
Statement query = connection.createStatement();
ResultSet rs = query.executeQuery("SELECT Nombre FROM Usuarios WHERE Tele = 2001");
此处“连接”有错误
这就是我连接到数据库的方式(这是在public void main中):
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("¿Dónde está el driver?");
e.printStackTrace();
return;
}
System.out.println("Driver encontrado");
Connection connection = null;
try {
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/java_project","root", "usbw");
System.out.println("Variable 'connection' = " + connection);
} catch (SQLException e) {
System.out.println("La conexión falló, mire los errores en consola.");
e.printStackTrace();
return;
}
if (connection != null) {
System.out.println("Conexión a la base de datos establecida");
} else {
System.out.println("La conexión falló");
}
可能这对你来说很容易,但我尝试了很多东西而且我没有得到它。如果有人可以帮助我,我将很高兴,感谢你的时间,Gonzalo。
答案 0 :(得分:0)
根据您的屏幕截图,您尚未定义连接。请用这种方式安排代码。也不要使用很多try catch块。使用代码如下。也 删除com.mysql.jdbc。*并使用import java.sql。*。此外,根据您的代码,您没有以正确的方式将连接作为参数传递。 我在这里更改了您的代码:http://pastebin.com/6wftE9tp
Connection connection = null;
Statement query = null;
try{
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//STEP 3: Open a connection
System.out.println("Connecting to a selected database...");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/java_project","root", "usbw");
System.out.println("Connected database successfully...");
//STEP 4: Execute a query
System.out.println("Creating statement...");
query = connection.createStatement();
ResultSet rs = query.executeQuery("SELECT Nombre FROM Usuarios WHERE Tele = 2001");
//STEP 5: Extract data from result set
while(rs.next()){
//Retrieve data
}
rs.close();
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}finally{
//finally block used to close resources
try{
if(query!=null)
connection.close();
}catch(SQLException se){
}// do nothing
try{
if(connection!=null)
connection.close();
}catch(SQLException se){
se.printStackTrace();
}//end finally try
}//end try
请参考:https://www.tutorialspoint.com/jdbc/jdbc-select-records.htm