2012-04-07 7 views
2

Когда я вставляю данные в свою таблицу, он добавляет одну пустую (пустую) строку после каждой заполненной строки. Таким образом, результат выглядит следующим образом:Почему этот INSERT добавляет лишнюю пустую строку?

data1 

data2 

data3 
etc 

создать код таблицы:

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

вставка выглядит следующим образом:

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

Может кто-нибудь сказать мне, почему этот код добавляет пустую строку ?

PS. Для большинства других таблиц этого не происходит. У меня проблемы с 2 таблицами. Также, когда я выполняю этот запрос через phpmyadmin, он не создает пустую строку.

+1

Выполнение одной инструкции INSERT приведет к одной дополнительной строке. Если вы получаете пустые строки, это означает, что вы вызываете оператор с пустыми данными. Предложение: добавьте 'System.out.println (data);' перед оператором if. –

+0

как избавиться от этого? – takeit

+2

Не уверен, от чего вы хотите избавиться. Если ваш входной файл (я предполагаю, что это из файла) содержит пустые строки, вы можете, например, расширьте if-statement до 'if (data! = null && data.length()> 0)' –

ответ

0

Вместо «if (data! = Null)» вам нужно иметь что-то, что проверяет все пробелы и нули, посмотрите на использование regex, чтобы найти это (я верю, что «/ s» будет работать).

Смежные вопросы