0

id (一意) が getthreadid 関数に送信している id と等しい列 threadid の値を取得しようとしています。threadid にはデータ型 long の値が含まれていますが、アプリがクラッシュする理由がわかりませんこれを行う,助けてください,事前に感謝します.

long id;
long threadid = datasource.getthreadid(id);
Toast.makeText(getActivity(), String.valueOf(threadid), Toast.LENGTH_SHORT).show();

public long getthreadid(long id)
{
    String ide = String.valueOf(id);
    String queryz = "SELECT " + "," + MySQLiteHelper.COLUMN_THREADID 
        + " FROM " + MySQLiteHelper.TABLE_NAME 
        + " WHERE " + MySQLiteHelper.COLUMN_ID + "=" + ide;
    Cursor cursor = database.rawQuery(queryz, null);
    long threadid = cursor.getLong(cursor.getColumnIndex("threadid"));
    return threadid;
}

私のデータベース作成クエリは次のとおりです。

static final String DATABASE_CREATE = "create table "+"message"+
            "( " +"id"+" integer primary key autoincrement,"+ "threadid long,parentid integer,message  text not null,messagestatus text); ";
4

1 に答える 1

0

あなたの質問は間違っていると思います

 String queryz = "SELECT " + "," + MySQLiteHelper.COLUMN_THREADID 
        + " FROM " + MySQLiteHelper.TABLE_NAME 
        + " WHERE " + MySQLiteHelper.COLUMN_ID + "=" + ide;

期待される出力 "SELECT , COLUMN FROM TABLE WHERE COLUMNID = VALUE "

間違ったクエリ

これであるべき

  String queryz = "SELECT " + MySQLiteHelper.COLUMN_THREADID 
            + " FROM " + MySQLiteHelper.TABLE_NAME 
            + " WHERE " + MySQLiteHelper.COLUMN_ID + "=" + ide;

期待される出力 "SELECT COLUMN FROM TABLE WHERE COLUMNID = VALUE"

database!=nullを確認してから、database.isOpen()を実行し、

あなたのカーソルをチェックしてください!= nullそして次にcursor.getCount() > 0

于 2013-09-12T21:02:37.077 に答える