Эта примерная Java-программа соединяется с базой данных MySQL с использованием JDBC, выполняет запрос и извлекает и печатает значение поля базы данных.
Этот же примерный код может использоваться для подключения к любому типу базы данных, все, что вам нужно сделать, это изменить URL-адрес соединения (dbUrl в образце). Чтобы этот код работал правильно, вам нужно будет загрузить драйвер mysql для JDBC, другими словами, Java-коннекторы с сайта mysql.com.
Если после загрузки URL-адреса он все еще не работает, возможно, это из-за пути к классам. Вам нужно будет добавить файл jar драйвера в путь к классам.
import java.sql.*;
import javax.sql.*;
public class jdbcdemo{
public static void main(String args[]){
String dbtime;
String dbUrl = "jdbc:mysql://your.database.domain/yourDBname";
String dbClass = "com.mysql.jdbc.Driver";
String query = "Select * FROM users";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection (dbUrl);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
dbtime = rs.getString(1);
System.out.println(dbtime);
} //end while
con.close();
} //end try
catch(ClassNotFoundException e) {
e.printStackTrace();
}
catch(SQLException e) {
e.printStackTrace();
}
} //end main
} //end class
сначала необходимо было бы преобразовать строку в кортеж даты и времени и затем преобразовать тот кортеж даты и времени для строкового представления, это пойдет как это:
lastconnection = datetime.strptime("21/12/2008", "%d/%m/%Y").strftime('%Y-%m-%d')
Ваш пример кода является неправильным. Это работает:
import datetime
datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d")
вызов к strptime () анализирует первый аргумент согласно формату, указанному во втором, таким образом, те два должны соответствовать. Затем можно назвать strftime () для форматирования результата в желаемый заключительный формат.
Кто-либо еще еще думает, что это - отходы для преобразования этих строк в объекты даты/времени для того, что, в конце, простом текстовом преобразовании? Если Вы уверены, что входящие даты будут допустимы, можно просто использовать:
>>> ddmmyyyy = "21/12/2008"
>>> yyyymmdd = ddmmyyyy[6:] + "-" + ddmmyyyy[3:5] + "-" + ddmmyyyy[:2]
>>> yyyymmdd
'2008-12-21'
Это почти наверняка будет быстрее, чем преобразование в и с даты.