# Abfrage trennt Ergbnis eines Atrributes nach den Leerzeichen



## Markro (3. Mrz 2006)

Hallo,

ich möchte ein Webbasiertes Auswertungstool schreiben, dass Informationen aus Datenbanken auswertet. Da es verschiedene Quellen sind (ORACLE,Access) habe ich mit der Access mal angefangen.

Der Connect zur Datenbank funktioniert ohne Probleme. Die Abfrage wird auch gestart. Nur die Daten sind unvollständig. Dass heißt, wenn das Ergebnis der Abfrage ein Leerzeichen enthält wird der Rest bei der Darstellung abgeschnitten.

Der Code sieht so aus:


```
public void HolDBdaten(String projektnr){
    String sreturn = null;
    try
    {
    datenmenge = null;
    datenmenge = befehl.executeQuery("SELECT Nummer, Beschreibung, AuftragsnummerSAP, Verantwortlich, Steuerung FROM Planung WHERE Nummer = '" + projektnr + "'");
    datenmenge.next();
        PSBnummer = datenmenge.getString("Nummer");
        PSBbeschreibung = datenmenge.getString("Beschreibung");
        PSBauftragsnummersap = datenmenge.getString("AuftragsnummerSAP");
        PSBverantwortlich = datenmenge.getString("Verantwortlich");
        PSBsteuerung = datenmenge.getString("Steuerung");

    verbindung.close();
    }
    catch (Exception e)
    {
    System.out.println(e);
    }
    //return sreturn;
}
```

Die Variablen PSB* werden bei der Ausgabe entsprechenden Feldern zugewiesen und für weitere Abfragen genutzt.

Sind beispielsweise in der Beschreibung mehrere Wörter eingetragen, wird nur das erste angezeigt.

Was kann ich tun??????


----------



## Bleiglanz (3. Mrz 2006)

du holst ja nur eine Zeile ab?

```
while(rs.next()){.....}
```
was ist befehl? ein statement??

das mit dem Leezeichen kann so nicht stimmen...

Fehler in der Ausgabefunktion?
Länge der Datenbankspalte??
Welchen Typ hat die Spalte Beschreibung in der DB?


----------



## mch-online (3. Mrz 2006)

Hallo

(hab mich registriert, deshalb ab jetzt anderer User)

Das Erbebnis ist immer nur eine Zeile, da "Nummer" ein Schlüssel ist, deshalb brauch ich keine while-Schleife, oder irre ich mich?

Ja befehl ist ein Statement.


```
befehl =  verbindung.createStatement();
Verbindung = DriverManager.getConnection(URL,null,null)
```

Der Aufbau erfolgt in einer anderen Funktion, da die Verbindung öfters genutzt wird.
Die Datenbankspalten sind vom Typ Text. Bei der Ausgabe wird die Variable einem Textfeld übergeben. 

```
out.println("<input type='text' name='xy' value = "+PSBbeschreibung+"></input>;
```

Änderungen soll später zurück in die Datenbank geschrieben werden.


----------



## Bleiglanz (3. Mrz 2006)

passt schon wenn nur eine Zeile

ist ein html problem

<input type='text' name='xy' value=eins zwei drei>

denk mal drüber nach...


```
out.println("<input type='text' name='xy' value = '"+PSBbeschreibung+"'></input>");
```


----------



## mch-online (3. Mrz 2006)

Habe darüber echt ne ganze Weile gesessen und dann so was einfaches.

Vielen vielen Dank.


----------

