2012-04-07 8 views
2

Wenn ich Daten in meine Tabelle einfüge, fügt sie nach jeder befüllten Zeile eine leere (leere) Zeile ein. So sieht das Ergebnis wie:Warum fügt dieses INSERT eine zusätzliche leere Zeile hinzu?

data1 

data2 

data3 
etc 

Die Tabelle erstellen Code ist:

String title = 
      "CREATE TABLE "+ db +".title ("+ 
         "id int(11) NOT NULL AUTO_INCREMENT,"+ 
         "name varchar(255) DEFAULT NULL,"+ 
         "PRIMARY KEY (id))"; 

Der Einsatz wie folgt aussieht:

String data = null; 
data = in.readLine(); 
if(data!=null) 
st.execute("INSERT INTO "+db+" .title (name) VALUES ('" + data + "')"); 

Kann mir jemand sagen, warum dieser Code eine leere Zeile hinzufügt ?

PS. Bei den meisten anderen Tabellen ist dies nicht der Fall. Ich habe nur Probleme mit 2 Tischen wie. Auch wenn ich diese Abfrage über phpmyadmin ausführe, wird keine leere Zeile erstellt.

+1

Die Ausführung einer INSERT-Anweisung führt zu einer zusätzlichen Zeile. Wenn Sie leere Zeilen erhalten, bedeutet dies, dass Sie die Anweisung mit leeren Daten aufrufen. Vorschlag: Fügen Sie vor der if-Anweisung ein 'System.out.println (data);' hinzu. –

+0

wie man das loswerden? – takeit

+2

Nicht sicher, was Sie loswerden möchten. Wenn Ihre Eingabedatei (ich nehme an, sie stammt aus einer Datei) leere Zeilen enthält, können Sie z. Erweitere die if-Anweisung auf 'if (data! = null && data.length()> 0)' –

Antwort

0

Anstelle von "if (data! = Null)" müssen Sie etwas haben, das nach allen Leerzeichen und Nullen sucht, schauen Sie in regex nach, um das zu finden (ich glaube "/ s" wird funktionieren).

Verwandte Themen