简体   繁体   中英

Insert values in existing record. sqlite using prepared statement

I want to insert values into an existing record using prepared statment. The value of that record is the last record inserted, I tried LAST function and MAX but it didn't seems to work, also I tried SELECT statment inside INSERT with no luck.

public static void insertCoordinates(){


    java.sql.Connection c = null;

    try {
        String str1 = Singelton.getInstance().getTxtField1().getText();
        Class.forName("org.sqlite.JDBC");
        c = DriverManager.getConnection("jdbc:sqlite:timeline_DB.db"); 
        c.setAutoCommit(false);
        PreparedStatement preparedStatement = c.prepareStatement("insert into event_table(bar_length, x_bar, y_bar) values (?, ?, ?) WHERE event_title =?");

        preparedStatement.setInt(1, CanvasNewTimeLine.Event_length);
        preparedStatement.setInt(2, CanvasNewTimeLine.x);  
        preparedStatement.setInt(3, CanvasNewTimeLine.H_LINE);
        preparedStatement.setString(4,str1);
        preparedStatement.executeUpdate();

        c.commit();
        c.close();
    } catch ( Exception e ) {
        System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        System.exit(0);
        System.err.println("problem");
    }
    System.out.println("yesssssss successfully");

}

I used update instead of insert:

    public static void insertCoordinates(){


    java.sql.Connection c = null;

    try {
        String str1 = Singelton.getInstance().getTxtField1().getText();
        Class.forName("org.sqlite.JDBC");
        c = DriverManager.getConnection("jdbc:sqlite:timeline_DB.db"); 
        c.setAutoCommit(false);


        String updateTableSQL = "UPDATE event_table SET bar_length = ?, x_bar=?, y_bar=? WHERE event_title = ?";
        PreparedStatement preparedStatement = c.prepareStatement(updateTableSQL);
        preparedStatement.setInt(1, CanvasNewTimeLine.Event_length);
        preparedStatement.setInt(2, CanvasNewTimeLine.x);  
        preparedStatement.setInt(3, CanvasNewTimeLine.H_LINE);
        preparedStatement.setString(4,str1);

        // execute 
        preparedStatement .executeUpdate();
        c.commit();
        c.close();
    } catch ( Exception e ) {
        System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        System.exit(0);
        System.err.println("problem");
    }
    System.out.println("yesssssss successfully");

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM