Derby/JavaDB LIKE Statement mit Wildcard

Reggie

Aktives Mitglied
Hallo allerseits,

Ich komme bei einem simplen Statement in Derby nicht weiter. Es gibt einen Tag auf der Tabelle TAGS der sich test nennt. Wenn ich mit Equal danach suche ist es kein Problem, Like ohne Wildcards funktioniert auch, sobald ich aber die Wildcards % oder _ benutze findet er den Eintrag nicht mehr. z.B.

SELECT ID,TAG FROM TAGS where (TAG = 'test') //Funktioniert
SELECT ID,TAG FROM TAGS where (TAG LIKE 'tes%') // Funktioniert nicht
SELECT ID,TAG FROM TAGS where (TAG LIKE 'tes_')// Funktioniert nicht
SELECT ID,TAG FROM TAGS where (TAG LIKE 'test%') //Funktioniert
SELECT ID,TAG FROM TAGS where (TAG LIKE 'test_')// Funktioniert nicht

Weiss jemand an was das liegen könnte?

Vielen Dank im Voraus!

Gruss Reggie
 

Reggie

Aktives Mitglied
Habe das ganze nochmal ausprobiert und unter anderem den SQL Befehl rein als String fest reingeschrieben und es hat funktioniert.

Was ich mache ist, ich bekomme per request.getParameter("Search") einen String. Dieser wird in tokens aufgeteilt, anschliessend ersetze ich die Zeichen * und ? mit den für die Datenbank verständlichen % und _. Dann setze ich den String für die abfrage zusammen.

Ich kann mir irgendwie nicht erklären woran es liegen könnte, das Encoding der Page ist UTF-8 und wie vorhin gepostet wird die SQL Abfrage richtig zusammengesetzt.

Wär echt cool wenn ihr da noch eine Idee habt.
 

HoaX

Top Contributor
Zeig doch mal den Code, oder am Besten ein KSKB wo du den Suchstring fest reinschreibst. Ansonsten lass dir die Query doch mal ausgeben was du da zusammenbaust. Ansonsten sei dir noch empfohlen PreparedStatements zu benutzen.
 

Reggie

Aktives Mitglied
Naja ich glaub net das PreparedStatements so wandelbar sind das die hier genügen würden. Der Code ist hier, evt. noch bissl schwer verständlich änder ich noch wenn er mindestens mal läuft.

Den Suchstring geb ich mit aus und der sieht genau so aus wie ich Ihn beim ersten post reingestellt habe.

Java:
 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        ArrayList<String[]> required = new ArrayList<String[]>();
        ArrayList<String[]> optional = new ArrayList<String[]>();
        ArrayList<String[]> notIncluded = new ArrayList<String[]>();
        ArrayList<String> requiredManual = new ArrayList<String>();
        Connection conn = Def.getConn();
        Statement st = null;
        ResultSet rs = null;
        PrintWriter out = response.getWriter();
        out.println(WebTemplates.getHeader());
        String searchString = null;
        if ((searchString = request.getParameter("SEARCH").trim()).length() > 0) {
            StringTokenizer token = new StringTokenizer(searchString);
            while (token.hasMoreTokens()) {
                String tmp = token.nextToken();

                String[] arr = null;
                if (tmp.contains("*") || tmp.contains("?")) {
                    requiredManual.add(tmp.replaceAll("-", "").replaceAll("\\+", ""));
                    tmp = tmp.replaceAll("\\*", "%");
                    tmp = tmp.replaceAll("\\?", "_");
                    arr = new String[]{tmp, "1"};
                } else {
                    arr = new String[]{tmp, "0"};
                }
                if (arr[0].charAt(1) == '-') {
                    arr[0] = arr[0].substring(1);
                    notIncluded.add(arr);
                } else if (tmp.charAt(1) == '+') {
                    arr[0] = arr[0].substring(1);
                    required.add(arr);
                } else {
                    optional.add(arr);
                }
            }
            StringBuilder sbInc = new StringBuilder();
            StringBuilder sb = new StringBuilder();
            Iterator<String[]> sbIt1 = optional.iterator();
            Iterator<String[]> sbIt2 = required.iterator();
            Iterator<String[]> sbIncIt1 = notIncluded.iterator();
            while (sbIt2.hasNext()) {
                String[] tmp = sbIt2.next();
                if (sbIt2.hasNext()) {
                    if (tmp[1].equals("0")) {
                        sbInc.append("TAG = '").append(tmp[0]).append("' or ");
                    } else {
                        sbInc.append("TAG LIKE '").append(tmp[0]).append("' or ");
                    }
                } else {
                    if (tmp[1].equals("0")) {
                        sbInc.append("TAG = '").append(tmp[0]);
                    } else {
                        sbInc.append("TAG LIKE '").append(tmp[0]);
                    }
                }
            }
            while (sbIt1.hasNext()) {
                String[] tmp = sbIt1.next();
                if (sbIt1.hasNext()) {
                    if (tmp[1].equals("0")) {
                        sbInc.append("TAG = '").append(tmp[0]).append("' or ");
                    } else {
                        sbInc.append("TAG LIKE '").append(tmp[0]).append("' or ");
                    }
                } else {
                    if (tmp[1].equals("0")) {
                        sbInc.append("TAG = '").append(tmp[0]).append("'");
                    } else {
                        sbInc.append("TAG LIKE '").append(tmp[0]).append("'");
                    }
                }
            }
            while (sbIncIt1.hasNext()) {
                String[] tmp = sbIncIt1.next();
                if (sbIncIt1.hasNext()) {
                    if (tmp[1].equals("0")) {
                        sb.append("TAG = '").append(tmp[0]).append("' or ");
                    } else {
                        sb.append("TAG LIKE '").append(tmp[0]).append("' or ");
                    }
                } else {
                    if (tmp[1].equals("0")) {
                        sb.append("TAG = '").append(tmp[0]).append("'");
                    } else {
                        sb.append("TAG LIKE '").append(tmp[0]).append("'");
                    }
                }
            }
            try {
                st = conn.createStatement();
                String notIncl =  " and not(" + sb.toString() + ")";
                System.out.println("SELECT ID,TAG FROM TAGS where (" + sbInc.toString() + ")"+(sb.length()>0?notIncl:""));
                rs = st.executeQuery("SELECT ID,TAG FROM TAGS where (" + sbInc.toString() + ")"+(sb.length()>0?notIncl:""));
                Set<Long> hm = new HashSet<Long>();
                boolean reqInc = false;
                while (rs.next()) {
                    if (requiredManual.isEmpty()) {
                        hm.add(rs.getLong("ID"));
                    } else {

                        String tag = rs.getString("TAG");
                        Iterator<String> tagIt = requiredManual.iterator();
                        while (tagIt.hasNext()) {
                            if (tag.matches("^" + tagIt.next() + "$")) {
                                hm.add(rs.getLong("ID"));
                            }
                        }
                    }
                }
                if (hm.isEmpty()) {
                    out.println("Es wurden keine Übereinstimmungen gefunden!");
                } else {
                    Iterator<Long> it = hm.iterator();
                    while (it.hasNext()) {
                        Long ID = it.next();
                        rs = st.executeQuery("Select KDBENTRYS.ID,KDBENTRYS.TITLE,Tags.TAG FROM KDBENTRYS JOIN TAGS ON (KDBENTRYS.ID = TAGS.ID) where KDBENTRYS.ID = " + ID.toString());
                        boolean proof = true;
                        while (rs.next()) {
                            if (proof) {
                                out.println("<A HREF=\"\">" + rs.getString("ID") + "</a> " + rs.getString("TITLE") + "</BR>");
                                out.println("<A HREF=\"\">" + rs.getString("TAG"));
                                proof = false;
                            } else {
                                out.println(",<A HREF=\"\">" + rs.getString("TAG"));
                            }
                            //out.println("<hr style=\"width:300px; color:yellow; background-color:yellow; height:5px;margin-right:0; text-align:right; border:1px dashed blue;\">");
                        }
                    }
                }
            } catch (SQLException ex) {
                Logger.getLogger(SimpleServlet.class.getName()).log(Level.SEVERE, null, ex);
            }

        } else {
            out.println("Es wurden keine Suchparameter mitgegeben!");
        }
        out.println(WebTemplates.getFooter());
        out.close();
    }
 
M

maki

Gast
Das einzige was da noch fehlt ist Tomatensauce und Parmesan...

Sorry, aber wie su siehst funktioniert dein Code nicht, die SQL Statements die du oben gepostet hast funktionieren 100%, offensichtlich (und nachvollziehbar) hast du den Überblick verloren, ein KSKB ist auch etwas anderes.

Würde an deiner Stelle den Spaghetticode aufräumen, mache dir zusätzliche Methoden & Klassen, beides immer so kurz wie möglich, und Methoden dann noch kürzer. Teile und herrsche, ansonsten wirst du beherrscht! ;)

Ist wie immer nicht böse gemeint, musste aber gesagt werden, da drinnen brauchst du nicht nach erst Bugs suchen, ist Zeitverschwendung.
 

Reggie

Aktives Mitglied
Hi Maki,

Wie erwähnt, ich weiss der Code ist unübersichtlich.

Der Witz is die SQL Statements die ich anfangs gepostet habe sind direkt aus dem Output oberhalb des SQL execute und sobald ich die ausschreibe also nicht "zusammensetze" funtkioniert das und mir geht nicht in den Kopf warum das nicht funktionieren sollte.

Ich versuch ma den Code bissl in den Griff zu bekommen und poste ihn oben nochmal. Über Ideen wäre ich trotzdem Froh den ich kanns mir einfach nicht erklären warum das nicht tun sollte.
 
M

maki

Gast
Du machst dir selber das Leben leichter wenn du nicht Code wie oben produzierst, falls jemand nach dir deinen Code warten muss, kannst du nur hoffen dass er nicht weiss wo du wohnst.

Vielleciht hast du auch einfach die falsche Art von Apostrophen verwendet, [c]'[/c] vs. [c]`[/c] vs [c]'[/c]. '`'
 
M

Marcinek

Gast
Könnte sein, dass "TAG" ein keyword ist und nicht als spalte erkannt wird? Das müsste dann escaped werden durch `
 
M

maki

Gast
Kannst du denn die Statemtns so wie sie ausgegeben werden direkt in der DB ausführen (zB. mit SQuirreL SQL Client )?
 

Reggie

Aktives Mitglied
Keyword scheint es keins zu sein, denn ich konnte den Table ohne Probs eröffnen und auch wenn ich
Java:
ResultSet rs = st.executeQuery("SELECT ID,TAG FROM TAGS WHERE (TAG LIKE 'tes%')")
schreibe nimmt er das Statement an ohne Probleme.

Noch komischer ist das er das zusammengesetzte Statement

SELECT ID,TAG FROM TAGS WHERE (TAG like 'test%')

nimmt er an.
 
Zuletzt bearbeitet:

Reggie

Aktives Mitglied
Jo das witzige ist nur dass das Statement ja augenscheindlich korrekt ist...

Habe jetzt aber nochmal Ordnung in den Code gebracht und das hat geholfen... ich weiss aber immernoch nicht wieso.....

Hier der neue Code:
Java:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println(WebTemplates.getHeader());
        String searchString = request.getParameter("SEARCH");
        if (searchString.length() == 0) {
            out.println("Es wurden keine Suchparameter mitgegeben!");
            out.println(WebTemplates.getFooter());
            out.close();
            return;
        }

        createArrays(searchString);
        Set<Long> searchResult = null;
        try {
            searchResult = createAndExecuteStatement();
        } catch (SQLException ex) {
            Logger.getLogger(SimpleServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
        if (searchResult.isEmpty()) {
            out.println("Es wurden keine Übereinstimmungen gefunden!");
            out.println(WebTemplates.getFooter());
            out.close();
            return;
        }
        writeResults(out, searchResult);
        out.println(WebTemplates.getFooter());
        out.close();
    }

    private void createArrays(String search) {
        StringTokenizer token = new StringTokenizer(search);
        while (token.hasMoreTokens()) {
            String tmp = token.nextToken();
            String[] arr = null;
            if (tmp.contains("*") || tmp.contains("?")) {
                required.add(tmp.replaceAll("-", "").replaceAll("\\+", ""));
                tmp = tmp.replaceAll("\\*", "%");
                tmp = tmp.replaceAll("\\?", "_");
                arr = new String[]{tmp, "LIKE"};
            } else {
                arr = new String[]{tmp, "="};
            }
            if (arr[0].charAt(1) == '-') {
                arr[0] = arr[0].substring(1);
                excluded.add(arr);
            } else if (tmp.charAt(1) == '+') {
                arr[0] = arr[0].substring(1);
                included.add(arr);
            } else {
                included.add(arr);
            }
        }
    }

    private void writeResults(PrintWriter out, Set<Long> results) {
        Connection conn = Def.getConn();
        Statement st = null;
        ResultSet rs = null;
        try {
            st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
            Iterator<Long> it = results.iterator();
            while (it.hasNext()) {
                Long ID = it.next();
                rs = st.executeQuery("Select KDBENTRYS.ID,KDBENTRYS.TITLE,Tags.TAG FROM KDBENTRYS JOIN TAGS ON (KDBENTRYS.ID = TAGS.ID) where KDBENTRYS.ID = " + ID.toString());
                while (rs.next()) {
                    if (rs.isFirst()) {
                        out.println("<A HREF=\"\">" + rs.getString("ID") + "</a> " + rs.getString("TITLE") + "</BR>");
                    }
                    out.println("<A HREF=\"\">" + rs.getString("TAG"));
                }
            }
        } catch (SQLException ex) {
            Logger.getLogger(SimpleServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private StringBuilder createSQLValidate(ArrayList<String[]> input, StringBuilder SQLString) {
        int lastEntry = input.size() - 1;
        for (int i = 0; i < input.size(); i++) {
            String[] tmp = input.get(i);
            SQLString.append("TAG ");
            SQLString.append(tmp[1]);
            SQLString.append(" '");
            SQLString.append(tmp[0]);
            SQLString.append("'");
            if (i < lastEntry) {
                SQLString.append(" or ");
            }
        }
        input.clear();
        return SQLString;
    }

    private Set<Long> createAndExecuteStatement() throws SQLException {
        Connection conn = Def.getConn();
        Statement st = null;
        ResultSet rs = null;
        Set<Long> searchResult = new HashSet<Long>();
        StringBuilder include = new StringBuilder();
        StringBuilder exclude = new StringBuilder();

        exclude.append(" and not(");
        exclude = createSQLValidate(excluded, exclude);
        exclude.append(")");
        include = createSQLValidate(included, include);

        st = conn.createStatement();
        System.out.println("SELECT ID,TAG FROM TAGS WHERE (" + include.toString() + ")" + (exclude.length() > 10 ? exclude : ""));
        rs = st.executeQuery("SELECT ID,TAG FROM TAGS WHERE (" + include.toString() + ")" + (exclude.length() > 10 ? exclude : ""));
        while (rs.next()) {
            if (required.isEmpty()) {
                searchResult.add(rs.getLong("ID"));
            } else {
                String tag = rs.getString("TAG");
                Iterator<String> tagIt = required.iterator();
                while (tagIt.hasNext()) {
                    if (tag.matches("^" + tagIt.next() + "$")) {
                        searchResult.add(rs.getLong("ID"));
                    }
                }
            }
        }
        return searchResult;
    }

Darf den sowas als geordneter Code bezeichnet werden? oder müsst ich das noch auf klassen aufsplitten?

EDIT: Das ganze verhält sich wie eine Wundertüte.... ich geb einen String mit, es tut nicht, anderer String klappt dann und wenn ich dann den vorherigen nochmal ausführe klappt der auch

SELECT ID,TAG FROM TAGS WHERE (TAG = 'test')
Results Found: 1
SELECT ID,TAG FROM TAGS WHERE (TAG LIKE 'tes%')
Results Found: 0
SELECT ID,TAG FROM TAGS WHERE (TAG LIKE 'test%')
Results Found: 1
SELECT ID,TAG FROM TAGS WHERE (TAG LIKE 'tes%')
Results Found: 1
SELECT ID,TAG FROM TAGS WHERE (TAG LIKE 'tes_')
Results Found: 1
SELECT ID,TAG FROM TAGS WHERE (TAG LIKE 'te%')
Results Found: 1
SELECT ID,TAG FROM TAGS WHERE (TAG LIKE 'te%') and not(TAG = 'hard')
Results Found: 1
SELECT ID,TAG FROM TAGS WHERE (TAG LIKE 'te%') and not(TAG = 'hardcore')
Results Found: 1
SELECT ID,TAG FROM TAGS WHERE (TAG LIKE 'te%') and not(TAG LIKE '_lubb')
Results Found: 1

Dazu ist gesagt das auf der DB ein Eintrag erfasst ist mit den Tags (test,blubb,hardcore)
 
Zuletzt bearbeitet:

Reggie

Aktives Mitglied
Sorry für den double Post.... kann den vorherigen nicht mehr editieren.

So wie es aussieht habe ich mich geirrt, auch anfragen die ich direkt in das Statement fest eintippe liefern mal falsche mal richtige Ergebnisse....

Muss also an der Datenbank liegen, wenn sonst noch wer Tipps hat nach was ich suchen muss bitte melden.
 
M

maki

Gast
Darf den sowas als geordneter Code bezeichnet werden?
Nein.

oder müsst ich das noch auf klassen aufsplitten?
Mehr Methoden (vor allem viel kürzere) und mehr Klassen.
Vor allem solltest du besser trennen.
Im Moment hast du ein Servlet, in dem mehrere Sprachen (4!!!) gemischt werden (Java, HTML, SQL, RegEx, später wohl noch JavaScript und CSS).
Solltest zumindest das SQL komplett in eine andere Klasse verschieben, suche mal nach dem DAO Pattern.
Dann sollltest du die Konzepte und Aufgaben sauberer trennen, suche mal "Single Responsibility Principle" und "Seperation of Concerns".
Die Ergebnisse sollten von einer JSP oder einem anderen View templating angezeigt werden, nciht im Servlet direkt, MVC bzw. "Model 2" währen die Suchbegriffe.

Ja, das ist viel für den Anfang.

Um nicht immer nur zu nörgeln: Du hast schon einen Schritt in die richtige Richtung gemacht.

Zu deinem konkreten Problem:
Solltest deine DB in den Griff bekommen, irgendwie läuft das etwas sehr schräg...
Dafür solltest du erstmal alles so einfach wie möglich halten, zB. eine "Testklasse" in der du nur SQL Statements an die DB schickst, kein HTML, RegEX, etc. pp.
Wie bekommst du denn die Testdaten in die DB?
 

Reggie

Aktives Mitglied
Hi Maki,

Für die Testdaten gibt es bereits ein kleines Webinterface... wird dann auch im produktiven Betrieb so eingegeben.

Der Code der Eingabe Maske würde die aber auch nicht besonders gefallen :)

Ist mein erstes JEE Projekt und hätte eigentlich nur eine kleine einfach Übung werden sollen.

Vielleicht noch ein paar Randinfos:
Als Webserver verwende ich Tiny Java Webserver und die Datenbank ist die neuste stable Version von Derby embedded.

Leider habe ich nciht einmal einen Ansatz wie ich das mit der Datenbank in den Griff bekommen sollte.
 

HoaX

Top Contributor
Sorry für den double Post.... kann den vorherigen nicht mehr editieren.

So wie es aussieht habe ich mich geirrt, auch anfragen die ich direkt in das Statement fest eintippe liefern mal falsche mal richtige Ergebnisse....

Muss also an der Datenbank liegen, wenn sonst noch wer Tipps hat nach was ich suchen muss bitte melden.

Kannst du die Datenbank hochladen? Dann schau ich mir das mal an.
 

Reggie

Aktives Mitglied
Derby Database

Sollten alle Files drin sein. Wenn sonst noch was brauchst einfach schreiben.

Danke für deine Mühe.
EDIT: Es ist nicht die DB, ich überprüfe nachher nochmal etwas und da werden die Einträge gefiltert.
:shock:

Danke allen für die Hilfe.
 
Zuletzt bearbeitet:

HoaX

Top Contributor
Also an der Datenbank liegts nicht. Jede Query liefert immer das selbe Ergebnis (solange man die Daten nicht ändert).
D.h. du hast irgendwo einen Bug im Code.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Statement läuft ewig Datenbankprogrammierung 14
T SQL-Statement Datenbank nach SQL Statement schließen? Datenbankprogrammierung 7
Kotelettklopfer SQLite Verhindern von doppelter Statement Ausführung Datenbankprogrammierung 25
L SQL-Statement SQL Statement doppelte Einträge finden Datenbankprogrammierung 9
C MySQL SQL Statement wir nicht ausgeführt Datenbankprogrammierung 11
G Datenbank Statement Datenbankprogrammierung 22
Dimax Erstellen ResultSet und Statement Datenbankprogrammierung 30
B MySQL Umkreissuche - brauche Hilfe bei SQL Statement Datenbankprogrammierung 12
M CSV Import - Dynamisches SQL Statement Datenbankprogrammierung 15
D Wiederverwendung / Recycling / Queuing von Statement Objekten Datenbankprogrammierung 1
D SQL Statement gesucht... Datenbankprogrammierung 15
J JDBC SQL Statement mit Parameter Datenbankprogrammierung 7
F Dynamischen String in SQL Statement einbinden Datenbankprogrammierung 9
L SQL Statement mit Switch-Case funktioniert nicht Datenbankprogrammierung 6
U PostgreSQL SELECT Statement Datenbankprogrammierung 5
A Problem mit Create-Statement Datenbankprogrammierung 9
LadyMilka MySQL Syntaxfehler im Statement Datenbankprogrammierung 3
A JDBC Prepared Statement Autoincrement Datenbankprogrammierung 3
P SQL-Statement Bei meinem Statement ist ein Fehler? Datenbankprogrammierung 2
P sql statement alter table foreign key Datenbankprogrammierung 4
T sql Statement Datenbankprogrammierung 9
B JDBC MySQL Statement Datenbankprogrammierung 3
A Sql Statement - Alle Zahlen größer 9 Datenbankprogrammierung 3
F Sql Statement Datenbankprogrammierung 12
A SQL-Statement prüfen Datenbankprogrammierung 3
W Statement als Klassenvariable Datenbankprogrammierung 27
I Select-Statement optimieren Datenbankprogrammierung 14
D SQLite Statement nimmt keine Namen aus getter-Methoden Datenbankprogrammierung 11
alex_fairytail MySQL SQL Statement Delete zwischen Datum1 und Datum2 Datenbankprogrammierung 5
M Access Update Statement Fehler update -> unmöglich? Datenbankprogrammierung 3
N Update Prepared Statement Fehler bei Argumenten Datenbankprogrammierung 3
R Select Statement als temporärer Table Datenbankprogrammierung 7
R Derby/JavaDB Select Statement Where bedingung will nicht ganz! Datenbankprogrammierung 4
R Derby/JavaDB Select TOP Statement geht nicht Datenbankprogrammierung 3
S Null Pointer exception statement Datenbankprogrammierung 8
R Derby/JavaDB Insert Statement Probleme Datenbankprogrammierung 14
K statement.execute liefert false Datenbankprogrammierung 6
C PostgreSQL Prepared Statement Datenbankprogrammierung 7
N Prepared Statement mit unbekannter Anzahl von Where-Clauses Datenbankprogrammierung 30
S SQL Statement: executeUpdate Datenbankprogrammierung 15
F wie funktioniert if Statement in SELECT? Datenbankprogrammierung 2
T MySQL PreparedStatement mit INSERTs langsam, Batch-Statement auch Datenbankprogrammierung 4
M MySQL größere von zwei Zahlen in Update Statement Datenbankprogrammierung 2
J [Hibernate] Select Statement Datenbankprogrammierung 4
S HSQLDB DELETE-Statement funktioniert nicht Datenbankprogrammierung 4
L MySQL Prepared Statement batch langsamer als bulk insert? Datenbankprogrammierung 10
L MySQL Kann Statement nicht erzeugen Datenbankprogrammierung 5
T Komme mit dem SQL Statement nicht weiter Datenbankprogrammierung 5
D MySQL Client - Server: Client verabschiedet sich sobald ich Variablen im SQL Statement verwende Datenbankprogrammierung 9
F Frage zu Prepared Statement Datenbankprogrammierung 2
T java.sql.SQLException: unexpected end of statement Datenbankprogrammierung 2
J SQL-Statement Datenbankprogrammierung 10
U MSSQL Verbindung steht, aber meckert beim Statement Datenbankprogrammierung 2
S executeBatch result immet mit Statement.SUCCESS_NO_INFO Datenbankprogrammierung 4
G Frage zum Insert-Statement Datenbankprogrammierung 2
J JDBC- Statement Ausführung nicht persistent Datenbankprogrammierung 2
A Connection Variable in anderer Klasse verwenden -> statement Datenbankprogrammierung 2
D Problem: Prepared Statement (Insert) funktioniert nicht. Datenbankprogrammierung 3
G Mit Prepared Statement in MDB schreiben Datenbankprogrammierung 7
Z DELETE-Statement Datenbankprogrammierung 6
W Prepared Statement und Verbindungsverlust Datenbankprogrammierung 4
G INSERT-STATEMENT Datenbankprogrammierung 6
alexpetri hsql statement problem Datenbankprogrammierung 3
W invalid sql statement ? Datenbankprogrammierung 3
S Probleme mit statement.close() Datenbankprogrammierung 10
G Wie ein SQL-Statement zusammensetzen? Datenbankprogrammierung 5
T Select Statement auf Relation Datenbankprogrammierung 3
S Connection/Statement/ResultSet auf einmal geschlossen Datenbankprogrammierung 8
G MsSQL | Statement.execute(String s) Datenbankprogrammierung 3
W Prepared Statement mehrere Zeichenketten Datenbankprogrammierung 4
G Keine Aussicht mit Prepared Statement Datenbankprogrammierung 10
G Für jede SQL-Abfrage eigenes Statement und ResultSet? Datenbankprogrammierung 3
C Statement/Connection SQLWarning Datenbankprogrammierung 4
J sql-statement Datenbankprogrammierung 7
G Update Statement automatisch unterteilen lassen Datenbankprogrammierung 3
P Prepared Statement scheint nicht zu funktionieren Datenbankprogrammierung 14
T SQL-Statement parser? Datenbankprogrammierung 11
N Prepared Statement Datenbankprogrammierung 8
G Problem mit Suchen Statement Java und MS-SQL-Server Datenbankprogrammierung 9
J SELECT-Statement Datenbankprogrammierung 4
S Statement.getGeneratedKeys() funktioniert nicht Datenbankprogrammierung 4
G Problem mit Delete-Statement Datenbankprogrammierung 3
L mehrere Abfragen mit einem Statement!? Datenbankprogrammierung 5
E Problem mit create-Statement Datenbankprogrammierung 5
E SQL-Statement um eine Nummer in der Datenbank zu suchen Datenbankprogrammierung 3
AssELAss Oracle Wildcard-Suche über zwei Felder Datenbankprogrammierung 5

Ähnliche Java Themen


Oben