Haben SQLite Tabelle good_in
mit Spalten namens in_id
, good_code
, in_group
, in_quantity
, in_VATPaid
SQLite java Abfrage einfügen nicht in Tabelle
Hier ist meine Tabelle Beispiel
und hat Methode Aufzeichnungen in sie einfügen
public static void inputGoods(GoodsInput goodsinput){
String goodCode = goodsinput.getInGood().getGood_code();
int goodBatch = goodsinput.getInGroup();
int goodQuantity = goodsinput.getInQuantity();
double goodVATPaid = goodsinput.getInVatPaid();
String sqlInsert = "INSERT INTO good_in (good_code, in_group, in_quantity, in_VATPaid)"
+ " VALUES ('" + goodCode + "', " + "'" + goodBatch + "', " + "'" + goodQuantity
+ "', " + "'" +goodVATPaid + "');";
System.out.print(sqlInsert);
Connection conn = ConnectionFactory.ConnectDB();
try{
Statement statement = conn.createStatement();
statement.executeUpdate(sqlInsert);
}
catch(SQLException e){
}
}
Verbindungsklasse
Wenn ich die gedruckte Abfrage in den SQLite Manager kopiere, fügt sie die Zeile hinzu, aber von Java beendet sie das Programm ohne Fehler, fügt aber keine Zeile zu meiner Tabelle hinzu. Was ist los?
haben auch andere Verfahren, das Wetter überprüft die good_code
in Tabelle existiert good
die id
und good_code
nur 2 Spalten haben, und wenn nicht vorhanden fügt es. Auf diese Methode wird von GoodsInput
Konstruktor zugegriffen. Wenn ich die Methode aus dem Konstruktor lösche, funktioniert die andere Methode einwandfrei. Hier ist das Verfahren
public static void insertGoods(Good g){
String sqlSelect = "Select * from good where good_code = '"
+ g.getGood_code() + "'" ;
String sqlInsert = "INSERT INTO good (good_code)"
+ "VALUES ('" + g.getGood_code() +"')";
Connection conn = ConnectionFactory.ConnectDB();
try{
Statement statement = conn.createStatement();
ResultSet rs = statement.executeQuery(sqlSelect);
while(!rs.next()){
statement.executeUpdate(sqlInsert);
break;
}
}
catch(SQLException e){
}
}
gibt es einen Fehler? Wie wird die Verbindung aufgebaut? – Lokesh
Kein Fehler, Verbindung ist auf diese Weise aufgebaut öffentliche statische Verbindung ConnectDB() { try { Class.forName ("org.sqlite.JDBC"); Verbindung con = DriverManager.getConnection ("jdbc: sqlite: kahuyq.db"); Rückkehr con; } catch (HeadlessException | ClassNotFoundException | SQLException ex) { JOptionPane.showMessageDialog (null, ex); } Rückgabewert null; } – Sargis
Sind Sie sicher, dass die Verbindung funktioniert? –