2012-04-07 54 views
1

我是android開發新手。我正在製作一個簡單的費用管理程序,其中有2個按鈕;一個保存reciever,日期和金額記錄等按鈕來查看這些records.Here是我寫的主要部分代碼:如何在日期類型的android sqlite中保存記錄?

public class database { 
public static final String DBNAME = "dbexpense"; 
SQLiteDatabase db; 
DBHandler handler; 

public database(Context ctx) { 
    handler = new DBHandler(ctx); 
} 

class DBHandler extends SQLiteOpenHelper { 
    public DBHandler(Context ctx) { 
     super(ctx, DBNAME, null, 1); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     db.execSQL("Create table expenses(id integer primary key autoincrement,from text,dated date, amount number);"); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     db.execSQL("drop table if exists expenses"); 
     onCreate(db); 
    } 
} 

public void open() { 
    db = handler.getWritableDatabase(); 
} 

public void close() { 
    db.close(); 
} 
public boolean saveRecord(String from, Date dated, Number amount) 
{ 
    ContentValues cv=new ContentValues(); 
    cv.put("From", from); 
    cv.put("Dated", dated); 
    cv.put("Amount", amount); 

    return db.insert("expenses", "", cv)>0; 
    } 

<EditText 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:id="@+id/editText2" 
android:inputType="date"> 
</EditText> 
<EditText 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:id="@+id/editText3" 
android:inputType="number"></EditText> 

我的XML文件的日期&數量編輯文本字段。 這顯示了一個錯誤:類型ContentValues中的方法put(String,String)不適用於參數(String,Date),而類型ContentValues中的方法put(String,String)不適用於參數(String ,Number)。還有其他方法可以拯救嗎?

回答

1

在嘗試存儲它們之前,將您的值轉換爲預期的格式。

E.g String.ValueOf(number)將數字轉換爲字符串。

+0

非常感謝。我實現了:cv.put(「Dated」,String.valueOf(dated)); (「Amount」,String.valueOf(amount));並沒有錯誤。 – 2012-04-07 14:51:24

+0

我接受了。再一次感謝你。 :) – 2012-04-07 14:55:24

相關問題