0

データベースの管理に SugarORM を使用しています。

public class ExerciseDB extends SugarRecord 
{
    @Column(name = "ex_recordId", unique = true, notNull = true)
    private String ex_recordId;
    private String ex_group;
    private String ex_name;    
    private int ex_cal;

    public ExerciseDB()
    {
    }

    public ExerciseDB(String ex_recordId, String ex_group, String ex_name, int ex_cal) 
    {
        this.ex_recordId = ex_recordId;
        this.ex_group = ex_group;
        this.ex_name = ex_name;
        this.ex_cal = ex_cal;
    }

次のように、デフォルトのトランザクションをExerciseDBにロードしました。

ExerciseDB e1= new ExerciseDB("ex1", "Group1", "aaa", 190); save(e1);
ExerciseDB e2= new ExerciseDB("ex2", "Group1", "bbb", 180); save(e2);

質問:

リクエストした取引条件をリストビューに一覧表示したいと思います。

すべてのエントリを取得する場合、次のように実行できることはわかっています。

List<ExerciseDB> Ex_db_record = null;
Ex_db_record = Select.from(ExerciseDB.class).orderBy("ex_recordId").list(); 

たとえば、Group1 レコードのみのリストと の順序でリストを取得するにはどうすればよいex_recordIdですか? 私が試してみました

Ex_db_record = ExerciseDB.find(ExerciseDB.class, "ex_group = ?", groupping);

しかし、次のようにエラーが発生します。

Caused by: android.database.sqlite.SQLiteException: no such column: ex_group (code 1): , while compiling: SELECT * FROM Ex_Records WHERE ex_group = ?
4

1 に答える 1

-1

後で ex_group をクラスに追加した可能性があるため、マニフェスト ファイルで Sugar DB のバージョンをアップグレードしてみてください。次のようになります。

 <meta-data
            android:name="VERSION"
            android:value="1" /> 

android:valueより高いバージョンに更新します。2私の場合は、と言ってください。

于 2015-02-04T09:42:05.007 に答える