У меня есть текстовый файл выглядит следующим образом:Как добавить содержимое файла в базу данных?
george 19 180 75
paul 20 182 84
laura 21 176 73
... ... ... ...
Я хочу прочитать этот файл и добавить его содержимое в таблицу с параметрами (имя, возраст, рост, вес) в моей базе данных. Имена george, paul, laura должны быть добавлены к именам и т. Д. Я написал такой код.
public static void main(String[] args) throws IOException {
PreparedStatement preparedstatement = null;
try{
String read=null;
in = new BufferedReader(new FileReader("patientlist.txt"));
while ((read = in.readLine()) != null) {
String[] splited = read.split("\\s+");
name=splited[0];
age=splited[1];
height=splited[2];
weight=splited[3];
}
try {
addpatient(connection, preparedstatement, name, age, height, weight);
if (connection != null)
try{connection.close();} catch(SQLException ignore){}
}
catch (SQLException error) {System.out.println(error);}
}
catch (IOException e) {System.out.println("There was a problem: " + e);}
}
public static void addpatient(Connection connection, PreparedStatement preparedstatement, String name, String age2, String height2, String weight2) throws SQLException{
preparedstatement=connection.prepareStatement("insert into allpatients(name, age, height, weight) values(?,?,?,?)");
preparedstatement.setString(1, name);
preparedstatement.setString(2, age);
preparedstatement.setString(3, height);
preparedstatement.setString(4, weight);
preparedstatement.executeUpdate();
}
Я думаю, что проблема с моим время цикла, может быть, я должен добавить цикл мне не удалось это сделать, я не очень хороший программист, и я ценю помощь. Благодаря!
положить addpatient (соединение, PreparedStatement, имя, возраст, рост, вес); внутри цикла while – newuser
В нем говорится: «После закрытия соединения никаких действий не разрешено». Потому что, когда вы это делаете, вы также принимаете оператор if внутри цикла, но после первого раунда соединения! = Null, поэтому он закрывает – Solijoli
После того, как все данные будут обновлены, а затем только вы закроете соединение. В противном случае он будет открыт – newuser