2016-06-29 5 views
0

Я пытаюсь вставить данные из spreadхсец.csv в мою базу данных, но не смог разобрать логическое значение. Для всех столбцов всегда принимает значение boolean как false.Невозможно разобрать логическое значение в postgresql DB

В моем расширении, у меня есть как истинные, так и ложные, но когда я загружаюсь в БД, он держит все куки как ложные.

Я пытаюсь разобрать атрибут in_service который имеет булевы значения, как значение TRUE или FALSE

мне нужно оба значение (истинное и ложное)

Надеется, что я делаю это правильно?

try { 
      // read line 
      String[] fileData; 
      String line = dis.readLine().replaceAll("\"", ""); 
      fileData = line.split(","); 
      int tripID = Integer.parseInt(fileData[0]); 
      int driver_id = Integer.parseInt(fileData[1]); 
      String timestamp = fileData[2]; 
      boolean in_service = Boolean.parseBoolean(fileData[3]); 
      int trips_pos = Integer.parseInt(fileData[4]); 
      double lat = Double.parseDouble(fileData[5]); 
      double lon = Double.parseDouble(fileData[6]); 
      int parish_id = Integer.parseInt(fileData[7]); 
      double distance = Double.parseDouble(fileData[8]); 
      int duration = Integer.parseInt(fileData[9]); 
      int trip_id = Integer.parseInt(fileData[10]); 
      double taxi_fare = Double.parseDouble(fileData[11]); 



      String query = " INSERT INTO aid_atidivyakumarpatra " 
        + "(id, driver_id, date, in_service, trips_pos, lat, lon, point, parish_id, distance, duration, trip_id, taxi_fare)" 
        + "VALUES ("+tripID+","+driver_id+",'"+timestamp+"',"+in_service+","+trips_pos+"," 
        + lat+","+lon+",ST_GeomFromText('POINT("+lon+" "+lat+")', 4326) , "+parish_id+","+distance+","+duration+", " 
        + trip_id +","+taxi_fare +")"; 
+1

SQL Injection предупреждение! – Reimeus

+0

Ошибка с кодом java не с запросом SQL –

+1

Если вы читаете Javadoc на parseBoolean (https://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html#parseBoolean (java.lang.String)), он говорит, что единственный способ, которым он возвращает true, - это то, что строка, которую он анализирует, равна значению, нечувствительному к регистру «true». – Orin

ответ

0

Извините за мой ответ, но реальный вопрос: почему вы не обрабатываете базу данных с JPA (Java Persistence API)? (менеджеры сущностей, запросы и т.д. ...)

С такого рода заявления вставки (конкатенации), очень высокий возможный SQL Injection атаки (я согласен с Reimeus)

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