2017-02-13 8 views
0

各行のitem_priceに数量を掛けて、各行の合計に格納します。ここで私は私のDatabaseHelperクラスで書いたコードです:android sqliteで行の値の乗算が機能しない

public Cursor getTicketTotal(){ 
     SQLiteDatabase db=this.getWritableDatabase(); 
     Cursor data=db.rawQuery("SELECT quantity,item_price, quantity*item_price as "+"total from "+TICKET_TABLE,null); 
     return data; 
    } 

(TICKET_TABLEは、テーブル名が格納されている変数である)、これは私が活動からそれを呼び出しています方法です。しかし、それは機能していません。私のquantityは整数フィールドで、item_priceはREALです。何が問題なの?

DatabaseHelper myDb; 
myDb.getTicketTotal(); 

ここではデータベースのスクリーンショットです:

enter image description here

+0

「働いていない」とはどういう意味ですか? – theblitz

+0

'合計'値は各列に0のままです。私はクエリをチェックし、うまくいきました。しかし、私はなぜ値が合計に加算されていないのかわかりません。私のコードに問題はありますか? –

+0

自分のアクティビティからgetTicketTotal()関数を適切に実行する方法は何ですか。 –

答えて

-2

あなただけの形式の出力を表示するために、選択クエリを使用しています。

データベースの列に合計値を残したい場合、更新クエリを使用してitem_priceとquantityを掛けなければなりません。

update TICKET_TABLE set total = quantity * item_price;

+0

SELECTを実行するはずがないと言っていますか? –

+0

しかし、私はすでにデータベース上で私のクエリを別々に走らせており、うまくいきました。 –

+0

それはあなたの要件に依存します。あなたがtotalinデータベースを保存したい場合は、更新クエリを使用してください。他のクエリを使用してランタイムで合計を取得してください – Santy

関連する問題