Мы не можем передавать тексты со специальными символами: команда
Код: Выделить всё
daten.Bezeichnung = rs.getString("bezeichnung1");Код: Выделить всё
daten.Bezeichnung"Теперь впоследствии изменено BT10", тогда как правильный текст - "Теперь впоследствии изменено BT10"
Программа:
Код: Выделить всё
try {
Class.forName("jdbc.gupta.sqlbase.SqlbaseDriver");
} catch (ClassNotFoundException e) {
Log.e(TAG, "ODBC driver load failed!");
}
// 1. tit_umbuchung lesen
String sql = "SELECT titel_nr, bezeichnung1, isbn, loesch_datum "
+ "FROM sysadm.titel "
+ "WHERE mandant = "+config.CONFIG_MANDANT+" and ( isbn = '"+ barcode +"' or ean_nr = '"+barcode+"' or titel_nr like '"+barcode+"')";
try (Connection conn = DriverManager.getConnection(config.getConnectionURL(), config.CONFIG_USER, config.CONFIG_PASSWORD);
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery()) {
if (rs.next()) {
TitelDaten daten = new TitelDaten();
daten.TitelNr = rs.getString("titel_nr");
daten.Bezeichnung = rs.getString("bezeichnung1");
daten.Isbn = rs.getString("isbn");
daten.Deaktiviert = rs.getDate("loesch_datum");
// Basislager
String basis_lager = "";
sql = "SELECT tit_lager_basis "
+ "FROM sysadm.firm_stamm "
+ "WHERE mandant = "+config.CONFIG_MANDANT;
try {
PreparedStatement ps0 = conn.prepareStatement(sql);
ResultSet rs0 = ps0.executeQuery();
if (rs0.next()) {
basis_lager = rs0.getString("tit_lager_basis");
}
if (basis_lager.isEmpty()) {
basis_lager = "LA0001";
}
}catch (Exception e){
Log.e(TAG, "SQL: " + e.getMessage());
}
Как получить доступ к SQLBASE в Android с помощью специальных символов?
Подробнее здесь: https://stackoverflow.com/questions/787 ... basedriver
Мобильная версия