У меня проблемы с вставкой данных в таблицу sqlite.Я хочу вставить переменные в столбцы вместо фиксированных данных
Fixed data:
"INSERT INTO DATOS (ID,NOMBRE,GRUPO,TUTOR) " +
"VALUES (1, 'Paul', 32, 'California');";
That i want:
"INSERT INTO DATOS (ID,NOMBRE,GRUPO,TUTOR) " +
"VALUES (variableID, variableName, variableNumber, variableCity);";
Я читаю документацию, но не могу ее получить, не могли бы вы мне помочь, пожалуйста.На данный момент мне удалось создать базу данных и вставить данные вручную:
package com.proyecto.demo;
import java.sql.*;
public class SQLiteJDBC {
public static void main( String args[] ) {
Connection c = null;
Statement stmt = null;
try { // Create the table
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
System.out.println("Paso 1: Base de datos creada");
stmt = c.createStatement();
String sql = "CREATE TABLE DATOS " +
"(ID INT PRIMARY KEY NOT NULL," +
" NOMBRE TEXT NOT NULL, " +
" GRUPO TEXT NOT NULL, " +
" TUTOR INT)";
stmt.executeUpdate(sql);
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
try { // Insert date to the table (here is where i have problems)
System.out.println("Paso 2: Conectar Base de datos");
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
c.setAutoCommit(false);
System.out.println("Opened database successfully");
stmt = c.createStatement();
String sql = "INSERT INTO DATOS (ID,NOMBRE,GRUPO,TUTOR) " +
"VALUES (1, 'Paul', 32, 'California');";
stmt.executeUpdate(sql);
stmt.close();
c.commit();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
System.out.println("All inserted!");
}
}
PD: Один пользователь предложил мне использовать сценарий SQL для выполнения моей задачи, а другой сказал мне использовать «готовое заявление».что лучше?