2012-11-05 75 views
0

在android中,如何從EditText中獲得一個值(整數類型)並將其插入到具有整數字段的數據庫中?將整數值存儲到android數據庫中

我使用下面的代碼,但它不會將整數數據保存到數據庫!

EditText Price; 
name = (EditText)findViewById(R.id.txt_GoodsName); 
Price = (EditText)findViewById(R.id.txt_Price); 
db.insertQuote(name.getText().toString(),Price.getText()); 

// ---------------------------------------------------------- 

public long insertQuote(String Quote,int Price1) 
{ 
    ContentValues initialValues = new ContentValues(); 
    initialValues.put(GoodName, Quote); 
    initialValues.put(Price, Price1); 
    return db.insert(DATABASE_TABLE, null, initialValues); 
} 
+0

這是不可能的,可能是你給了錯誤的'fieldname'或'tablename'。 –

回答

0

使用

db.insertQuote(name.getText().toString(),Integer.valueOf(Price.getText().toString())); 

db.insertQuote(name.getText().toString(),new Integer(Price.getText().toString())); 

代替

db.insertQuote(name.getText().toString(),Price.getText()); 

db.insertQuote(String,Integer)因爲接受第二參數作爲整數不是作爲字符串。

+0

@hotveryspicy:是的兩個選項的工作。 –

+0

:我使用你的代碼,但它不會保存數據庫中的數據!!!如果我不使用整數值,只保存第一個參數,它的工作原理!!!!但是當我想保存整數(即使你的soloution它doesn工作) – shadi

+0

@ shadi:答案中的兩個選項都是正確的將字符串轉換爲Integer.maybe您有其他問題。 –

0

試試這個。你需要將String解析爲int,因爲在函數中第二個參數是int而不是string。

db.insertQuote(name.getText().toString(),Integer.parseInt(Price.getText().toString())); 
+0

不,使用'ContentValues'這個問題不會發生。 –

+1

@hotveryspicy:我同意你的看法,但他將字符串作爲整數函數insertQuote而不是ContentValues –

+1

然後你必須告訴他在函數中調用錯誤參數的原因,而不是提供直接的解決方案。 –

相關問題