# Wie Tabelle auf bestimmten Inhalt überprüfen?



## Acid (18. Apr 2011)

Tag,
wie ist es möglich eine Tabelle auf bestimmten Inhalt zu überprüfen?

```
try {
                ResultSet result;
                result = befehl.executeQuery("SELECT Name FROM Tabelle WHERE Name='Test');


                    while(result.next())  {
                    name = result.getString("Name");     //DB-Attributinhalt
                   
                  }

            } catch (Exception e) {
                e.printStackTrace();
             }
```

So nun möchte ich überprüfen ob es überhaupt einen Eintrag mit dem Namen Test gibt. Ich bekomm das leider gar nicht hin


----------



## maki (18. Apr 2011)

if(result.next()) sagt dir doch schon ob etwas gefunden wurde.


----------



## SlaterB (18. Apr 2011)

so funktionierts, grob im Ausschnitt, Syntax-Fehler dürfte klar sein, restliches Programm von vorhandener DB bis zur Auswertung der name-Variable ist natürlich auch wichtig

besteht eine Frage? poste mehr Code, genaue Problembeschreibung mit Datenbank-Inhalt, Ergebnis von Anfragen usw.


----------



## Acid (18. Apr 2011)

Also an sich funktionier die Abfrage. Ich möchte jetzt noch zusätzlich überprüfen ob es den Eintrag, der Abfrage, in der Datenbank vorhanden ist. Das wenn ich z.B. die Abfrage durchführe:

```
result = befehl.executeQuery("SELECT Name FROM Tabelle WHERE Name='Auto'");
```
und es diesen Eintrag "Auto" nicht in meiner Tabelle vorhanden ist, ich ein System.out.println(error); oder so wieder bekomme.
Ich hoffe jetzt ist mein Problem verstädnlicher...


----------



## SlaterB (18. Apr 2011)

wie gesagt, du musst name auswerten oder gleich das if von maki nehmen,
wenn es der eine Fall ist dann entsprechend reagieren, ansonsten anders,
if (..) {
 .. // z.B. System.out.println("Error");
} else {
..
}

programmieren musst du es schon


----------



## Acid (23. Apr 2011)

Ich hab es so Probiert, es scheint aber einfach ein falscher Ansatz zu sein. ICh weiß nicht wie ich es sonst überprüfen kann. :/ Denn wenn der Name in der Datenbank vorhanden ist gibt er es auch brav aus, wenn aber nicht, dann passiert nichts...


```
public void  DbScan(String Name){
        String name = new String();
        String name2 = Name;
        
        try {
                ResultSet result;
                result = befehl.executeQuery("SELECT Name FROM Filme WHERE Name='"+ Name + "'");
                

                    while(result.next())  {
                    name = result.getString("Name");     //DB-Attributinhalt
                    if(name.equals(name2)){
                        System.out.println("OK");
                        System.out.println(name);
                    }
                    else {
                        System.out.println("ERROR");
                    }
                    
                  }

            } catch (Exception e) {
                e.printStackTrace();
             }
               
    }
```


----------



## Gast2 (23. Apr 2011)

```
public void  DbScan(String Name){
       
        String name2 = Name;
        
        try {
                ResultSet result;
                result = befehl.executeQuery("SELECT Name FROM Filme WHERE Name='"+ Name + "'");
                
                    String name = null;
                    while(result.next())  {
                        name = result.getString("Name");     //DB-Attributinhalt
                    }
                    if(name == null){
                         System.out.println("ERROR - name not in DB");
                         return;
                    }

                    if(name.equals(name2)){
                            System.out.println("OK");
                            System.out.println(name);
                    } else {
                            System.out.println("Name does not match");
                    }
                    return;
                    
                  }

            } catch (Exception e) {
                e.printStackTrace();
            }
               
    }
```

Du must halt erstmal dir klar machen was passiert. Wenn du es so machst ist nur dann name null wenn es keinen Satz in der Datenbank gibt.

Du kannst auch statt dem Select ein COUNT machen Wenn Count == 0 gibt es den namen nicht.


----------



## Acid (23. Apr 2011)

Ja, macht irgendwie Sinn :/. Viele Danke nun klappt es. Nur musste ich anstatt dem 2ten "if" eine "else if" reinmachen. Merci <3


----------

