public Connection myConn()
{
Connection con = null;
try
{
Class.forName("com.mysql.jdbc.Driver");
String cs = "jdbc:mysql://111.111.111.111:3306/mydb";
con = DriverManager.getConnection(cs,username,password);
}
catch (Exception e)
{
Log.e("ERRO", Objects.requireNonNull(e.getMessage()));
}
return con;
}
public ArrayList singleQuery(String sqlQuery)
{
ExecutorService executorService = Executors.newSingleThreadExecutor();
executorService.execute(() -> {
try
{
con = myConn();
if (con == null)
{
str = "Failed connection to MySQL database";
}
else
{
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sqlQuery);
ResultSetMetaData rsmd = rs.getMetaData();
int colNums = rsmd.getColumnCount();
while (rs.next())
{
String sep = "";
String dataLine = "";
for (int i = 1 ; i {.. .}); пропускается и ведет меня прямо к возвращаемому значению resData (которое пусто). Во второй раз я захожу в executorService, и необходимые инструкции выполняются.
Кто-нибудь знает?
Подробнее здесь: [url]https://stackoverflow.com/questions/79147852/android-java-jdbc-connection-issue[/url]
Я не опытный разработчик Android, и у меня возникают проблемы с подключением к базе данных JDBC MySQL. Вот мой код. [code]public Connection myConn() { Connection con = null; try { Class.forName("com.mysql.jdbc.Driver"); String cs = "jdbc:mysql://111.111.111.111:3306/mydb"; con = DriverManager.getConnection(cs,username,password); } catch (Exception e) { Log.e("ERRO", Objects.requireNonNull(e.getMessage())); } return con; }
public ArrayList singleQuery(String sqlQuery) { ExecutorService executorService = Executors.newSingleThreadExecutor(); executorService.execute(() -> { try { con = myConn(); if (con == null) { str = "Failed connection to MySQL database"; } else { Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sqlQuery); ResultSetMetaData rsmd = rs.getMetaData(); int colNums = rsmd.getColumnCount(); while (rs.next()) { String sep = ""; String dataLine = ""; for (int i = 1 ; i {.. .}); пропускается и ведет меня прямо к возвращаемому значению resData (которое пусто). Во второй раз я захожу в executorService, и необходимые инструкции выполняются. Кто-нибудь знает?