2012-02-28 9 views
0

私はOrmLiteのHelloAndroidの例を使用し、自分の要件に従って修正しました。その後、私は別のBean(適切な注釈付きPOJO)を添加してもAndroid ORMLiteは2つのテーブルを使用してSQLExceptionを返します

しかし、私は2番目のテーブルを追加した最初のテーブルと同様に、この

# --table-start-- 
dataClass=com.example.helloandroid.SchoolDataBean 

@DatabaseField(generatedId = true) 
tableName=schooltable 
# --table-fields-start-- 

# --field-start-- 
fieldName=rollNo 
generatedId=true 
# --field-end-- 

# --field-start-- 
fieldName=name 
indexName=simpledata_string_idx 
# --field-end-- 

# --field-start-- 
fieldName=gender 
# --field-end-- 

# --field-start-- 
fieldName=presence 
# --field-end-- 

# --table-fields-end-- 
# --table-end-- 

# --table-start-- 
dataClass=com.example.helloandroid.CompanyDataBean 

@DatabaseField(generatedId = true) 
tableName=companytable 
# --table-fields-start-- 

# --field-start-- 
fieldName=companyId 
generatedId=true 
# --field-end-- 

# --field-start-- 
fieldName=name 
indexName=simpledata_string_idx 
# --field-end-- 

# --field-start-- 
fieldName=designation 
# --field-end-- 

# --field-start-- 
fieldName=annualPay 
# --field-end-- 

# --table-fields-end-- 
# --table-end-- 

のように新たに追加されたテーブルのための私のconfig.txtファイルを更新し、私はConfigクラス自体に間違っていることがあると信じています。

例外は述べています。この

java.sql.SQLException: Could not find declared field with name 'companyId' for class com.example.helloandroid.SchoolDataBean 

最初のテーブルが終了して、新しいテーブルがそのが第二のテーブルのカラム名を読み込むよう、今読まれるべきコンパイラに伝えるためにいくつかの方法があるに違いありません最初のテーブル。

public class CompanyDataBean { 

    //id is generated by the database and set on the object automagically 
    @DatabaseField(generatedId = true) 
    int companyId; 
    @DatabaseField(index = true) 
    String name; 
    @DatabaseField 
    String designation; 
    @DatabaseField 
    String annualPay; 

    public CompanyDataBean() { 
    } 

    public CompanyDataBean(int companyId,String name, String designation, String annualPay){ 
     this.companyId=companyId; 
     this.name=name; 
     this.designation=designation; 
     this.annualPay=annualPay; 
    } 
} 

どのように私のBEANがどのように見えるのですか?ありがとう。

+0

私はconfigファイルを自分自身で生成しなければならないことを認識しています。私の場合は、新しいテーブルを設定ファイルにプッシュする必要があります。 –

+0

最初にJavaアプリケーションとして実行して、ブートストラップローダーを削除してJRE 6を実行して、すでに文書化されている2番目のテーブルでconfig.txtファイルを生成しました。 –

答えて

1

あなたの設定ファイルには、カットアンドペーストですぐにはわからない構文エラーがあると思われます。このファイルを手動で生成しないことを強くお勧めします。開始するには、これらの行を削除する必要があります。あなたが#ラインのすべてがインデントされていないことを確認する必要がありますが、それらとは別に

@DatabaseField(generatedId = true) 

は、私は、ファイルに問題が表示されません。実際のファイルを http://pastebin.com/に投稿し、URLを使用して質問を編集すると、おそらくもっと助けることができます。

+0

すぐにお返事ありがとうございます! そして、ORMLiteのドキュメントから、config.txtの生成方法と実行環境の変更方法を学びました。最後に解決され、魅力的なものになりました! –

関連する問題