如何使用 SQL 查询结果作为 Java 中变量的值?
How do I use an SQL Query Result as the value of a variable in Java?
我有以下查询
SELECT CONVERT(VARCHAR(8),(select TOP 1 LBD=latest_date
FROM some_table
WHERE latest_date < GETDATE()
ORDER BY latest_date DESC), 112) AS [YYYYMMDD]
这会给我一个值,例如 20150324
。
现在我在 Java 中有一个变量 var。
我希望 var 等于查询结果(所以今天是 var = 20150324,明天可能是完全不同的东西)。
我该如何完成?
我猜你问的是如何从 java 访问数据库。 Java 有一个 API 可以与您有驱动程序的任何数据库对话。它叫做 JDBC.
对于 SQLServer,从 Microsoft 获取驱动程序,或者使用 jtds(开源)。将驱动程序添加到您的项目中并按照有关 JDBC 如何使用它的教程进行操作(例如 http://docs.oracle.com/javase/tutorial/jdbc/)。
您的代码看起来像这样。您需要获得适当的 jdbc 驱动程序并适当地配置 url,但这只是您将如何做的一小部分示例。
import java.sql.*;
class DoQuery {
public static void main (String[] args) {
try {
String url = "jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;";
Connection conn = DriverManager.getConnection(url,"","");
Statement stmt = conn.createStatement();
ResultSet rs;
rs = stmt.executeQuery("SELECT CONVERT(VARCHAR(8),(select TOP 1 LBD=latest_date FROM some_table WHERE latest_date < GETDATE() ORDER BY latest_date DESC), 112) AS [YYYYMMDD]");
while ( rs.next() ) {
String myDate = rs.getString("YYYYMMDD");
System.out.println(myDate);
}
conn.close();
} catch (Exception e) {
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
}
}
我有以下查询
SELECT CONVERT(VARCHAR(8),(select TOP 1 LBD=latest_date
FROM some_table
WHERE latest_date < GETDATE()
ORDER BY latest_date DESC), 112) AS [YYYYMMDD]
这会给我一个值,例如 20150324
。
现在我在 Java 中有一个变量 var。
我希望 var 等于查询结果(所以今天是 var = 20150324,明天可能是完全不同的东西)。
我该如何完成?
我猜你问的是如何从 java 访问数据库。 Java 有一个 API 可以与您有驱动程序的任何数据库对话。它叫做 JDBC.
对于 SQLServer,从 Microsoft 获取驱动程序,或者使用 jtds(开源)。将驱动程序添加到您的项目中并按照有关 JDBC 如何使用它的教程进行操作(例如 http://docs.oracle.com/javase/tutorial/jdbc/)。
您的代码看起来像这样。您需要获得适当的 jdbc 驱动程序并适当地配置 url,但这只是您将如何做的一小部分示例。
import java.sql.*;
class DoQuery {
public static void main (String[] args) {
try {
String url = "jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;";
Connection conn = DriverManager.getConnection(url,"","");
Statement stmt = conn.createStatement();
ResultSet rs;
rs = stmt.executeQuery("SELECT CONVERT(VARCHAR(8),(select TOP 1 LBD=latest_date FROM some_table WHERE latest_date < GETDATE() ORDER BY latest_date DESC), 112) AS [YYYYMMDD]");
while ( rs.next() ) {
String myDate = rs.getString("YYYYMMDD");
System.out.println(myDate);
}
conn.close();
} catch (Exception e) {
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
}
}