0

そのクラスをテーブルの作成に使用します。

public class Category {
    public final static String CATEGORY_TITLE_FIELD_NAME  = "title";
    @SerializedName("id")
    @DatabaseField(id = true)
    int id;

    @SerializedName("title")
    @DatabaseField(dataType = DataType.STRING, columnName = CATEGORY_TITLE_FIELD_NAME)
    String title;

    // need for ORMlite
    public Category() {}

    public Category (int id, String title) {
        this.id = id;
        this.title = title;
    }
}

そして、次のようなメッセージを取得します。

08-01 11:28:17.269: I/TableUtils(26960): 実行された create table ステートメントが 1 行を変更しました: CREATE TABLE levels( titleVARCHAR , idINTEGER , PRIMARY KEY ( id) )

私のテーブルには3つのフィールドがありますか?または、「タイトル」と「ID」の 2 つのフィールドがあります...3 つのフィールドがある場合は、その理由を教えてください..

4

3 に答える 3

0

私のテーブルには3つのフィールドがあるということですか?または、「title」と「id」の2つのフィールドがあります... 3つのフィールドがある場合は、理由を教えてください。

生成されたSQLについて話していると思います。

CREATE TABLEレベル(タイトルVARCHAR、id INTEGER、PRIMARY KEY(id))

そこには3つのフィールドが定義されていません。2つのフィールド(titleid)とPRIMARY KEYSqlite用の指定があります。Sqliteは、PRIMARY KEYSQLを使用して、行の識別子としてインデックスを作成するフィールドを定義します。詳細については、Sqliteのドキュメントを参照してください。

于 2012-08-01T13:33:56.400 に答える
0

私のテーブルには3つのフィールドがありますか?

あなたのテーブルには 2 つの列がありますが、3 つの列があると思われる理由は何ですか? SQL ステートメントを分析すると、次のようになります。

CREATE TABLE レベル (title VARCHAR 、id INTEGER 、PRIMARY KEY (id) )

2 つの列(主キーでもあります) がtitle あることがわかります。id

別の回答が必要な場合は、質問を言い換えてください。

于 2012-08-01T09:20:03.030 に答える
0

そんなメッセージが届いたら

 08-01 11:28:17.269: I/TableUtils(26960): executed create table statement changed 1 rows: CREATE TABLE levels (title VARCHAR , id INTEGER , PRIMARY KEY (id) )

、それは 3 列ではなく 2 列の作成を意味します。グレイのおかげで

于 2012-08-14T08:42:19.377 に答える