其實我的整個問題都在標題中。我有一個類管理我的發票對象插入和刪除我的Sqlite數據庫。java PreparedStatement.setFloat拋出NullpointerException,允許Pstmt.setString?
public class Invoice {
private String str1;
private Float flt1;
private String str2Null;
private Float flt2Null;
public Invoice(String str1, Float flt1){
this.str1 = str1;
this.flt1 = flt1;
}
getters & setters...
}
public class InvoiceManager{
...Konstruktor...
public int insertInvoice(Invoice invoice) throws Exception{
try {
PreparedStatement stmt = databaseConnection.prepareStatement(
"INSERT INTO invoice (str1, flt1, str2Null, flt2Null) VALUES (?,?,?,?)");
stmt.setString(1, invoice.getStr1());
stmt.setFloat(2, invoice.getFlt1());
stmt.setString(3, invoice.getStr2Null());
stmt.setFloat(4, invoice.getFlt2Null());
....
所以,當我想插入某物的DB和Str2Null = NULL,它的工作原理,並將其寫入NULL到sqliteDB,但與Flt2Null = null,則拋出一個異常...任何人可以說我爲什麼? 感謝您的幫助迄今爲止...
這看起來不正確,你的SQL查詢不會編譯。我無法確定列名是變量還是「String」的一部分。請更正您的查詢。另外,請考慮使用['SET'語法](http://milov.nl/2836) –