1
我已經編寫了一個java代碼,用於從Sqlite數據庫命名的邊緣中的一個表中獲取值,並將其寫入名爲距離的另一個表。但是,在將值寫入表格距離時,我必須每次重新定義語句。如果我沒有一個迭代執行如下的代碼之後退出循環重新定義語句的值:每次寫入Sqlite數據庫時重新定義語句
statement.executeUpdate(sql);
但是,如果我重新定義聲明循環繼續按預期即我註釋掉的代碼行。謝謝。
public static Connection dbconn;
public static Statement statement;
public void solve(InputReader in,OutputWriter out) throws ClassNotFoundException
{
try
{
Class.forName("org.sqlite.JDBC");
dbconn =DriverManager.getConnection("jdbc:sqlite:/home/src/db.db");
System.out.println("Connected");
statement = dbconn.createStatement();
statement.setQueryTimeout(30);
ResultSet rs = statement.executeQuery("select * from edges;");
while(rs.next())
{
String sql = "INSERT INTO distances (Road_Name,Start_Latitude,Start_Longitude)" +
"VALUES ('"+rs.getString("Road_Name")+"',"+rs.getString("Start_Latitude")+","+rs.getString("Start_Longitude")";
//Statement statement= dbconn.createStatement();
statement.executeUpdate(sql);
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);
}
}
考慮使用由@ pasha701建議單次操作!這將是我的選擇。 –