Public Sub Update(filenameDB As String, TableName As String,ID As Int, Field As String, fn as string)
Dim J As JavaObject = Me
J.RunMethod("SetDB",Array As String(filenameDB))
J.RunMethod("update",Array As Object(TableName,Field,ID,fn))
End Sub
#if Java
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import anywheresoftware.b4a.BA.Permissions;
@Permissions(values={"android.permission.WRITE_EXTERNAL_STORAGE"})
String url = "jdbc:sqlite:C://sqlite/db/test.db";
public void SetDB(String filename) {
url = "jdbc:sqlite:" + filename;
BA.Log(url);
}
public Connection connect() {
// SQLite connection string
Connection conn = null;
try {
conn = DriverManager.getConnection(url); ' FIRST ERROR ---------------
} catch (SQLException e) {
System.out.println(e.getMessage());
BA.Log("Errore: " + e.getMessage());
}
return conn;
}
public void update(String tablename, String fieldname, int materialId, String filename) {
// update sql
String updateSQL = "UPDATE " + tablename
+ " SET "+ fieldname + " = ? "
+ "WHERE ID= ?";
try {
BA.Log("1");
Connection conn = connect();
BA.Log("2: " + updateSQL);
PreparedStatement pstmt = conn.prepareStatement(updateSQL);
// ----------------- HERE: Crash - Conn is nul --------------------
// set parameters
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
#End If