がここ列in_id
、good_code
、in_group
、in_quantity
、in_VATPaid
sqliteのJavaのクエリは
という名前のsqliteのテーブルを持っており、それにレコードを挿入する方法を持っているテーブルに挿入されません。
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){
}
}
接続クラス
public static Connection ConnectDB(){
try{
Class.forName("org.sqlite.JDBC");
Connection con = DriverManager.getConnection("jdbc:sqlite:kahuyq.db");
return con;
} catch (HeadlessException | ClassNotFoundException | SQLException ex){ JOptionPane.showMessageDialog(null, ex); }
return null;
}
印刷されたクエリをsqliteマネージャにコピーすると、行が追加されますが、javaからはエラーなしでプログラムが終了しますが、テーブルに行は追加されません。 どうしたのですか?
good_code
がテーブルgood
に存在し、2列だけがid
とgood_code
であることを確認する他の方法もあります(存在しない場合)。このメソッドには、GoodsInput
コンストラクタからアクセスします。コンストラクタからメソッドを削除すると、もう一方のメソッドは正常に動作します。ここで はその方法である
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){
}
}
間違いはありますか?接続はどのように構築されていますか? – Lokesh
エラーなし、接続はこの方法で構築されます。public static Connection ConnectDB(){ try { Class.forName( "org.sqlite.JDBC"); 接続con = DriverManager.getConnection( "jdbc:sqlite:kahuyq.db"); return con; } catch(HeadlessException | ClassNotFoundException | SQLException ex){ JOptionPane.showMessageDialog(null、ex); } return null; } – Sargis
接続が正常に機能していますか? –