基本的な使用とAndroidにsqliteのデータベースで複数のテーブルを追加

データベーステーブルを確立し、構築するために導入され、その多くのAndroidのSQLiteデータベースの使用に関する多くの記事を読み、テーブルは通常、一つだけを構築している、と私たちは、このような複数のテーブルであってもよく、実際の状況を使用します我々は場合にそれを行うべきか、よく、ここで私はどのようにsqliteのデータベースで複数のテーブルを作成する方法を教えます。

最初は、データベースとテーブルを確立する方法です。

すなわち、SQLiteOpenHelperを継承したクラスの確立:

パブリッククラスReaderOpenHelperはSQLiteOpenHelperを拡張します

そして、コンストラクタを追加します。

公共ReaderOpenHelper(コンテキスト・コンテキスト){
        
        スーパー(文脈、 "people.db"、NULL、1 );
         }

people.dbは、データベース、データベースのバージョンの名前です。

そして、クラスに次の2つのメソッドを実装します。

コードをコピー
@Override
     公共のボイドのonCreate(SQLiteDatabaseデシベル){ // TODO自動生成されたメソッドスタブdb.execSQL(「テキスト、reageテキスト、rephoneテキスト、usename整数、パスワードの整数を再入力し、テキストの名前を変更、整数主キーの番号を変更(表の読者を作成し、 CREATETIMEテキスト)」); db.execSQL( "(テーブルブックを作成する整数主キー、booknameテキスト、ブックタイプのテキスト、bookeditorテキスト、インタイムのテキスト、incounts整数)booknumber" ); }
コードをコピー

db.execSQLの役割は、SQL文を実行し、テーブルの読者を作成することである括弧内の各フィールドの名前と値の型があり、読者と呼ばれるテーブルを作成することです。

ここでは2つのテーブルを作成します。もう呼ば冊

達成するために続行:

コードをコピー
@Override
     公共ボイドONUPGRADE(SQLiteDatabase DB、INT oldVersion、INT NEWVERSION){ // TODO自動生成方法スタブdb.execSQL( "表読者が存在する場合にドロップ" )。db.execSQL(「表が本を存在する場合、ドロップ」)。onCreate(DB)。}
コードをコピー

「テーブルにはテーブル名が存在する場合、ドロップ」のSQL文を実行します

ようにあなたのSQLiteデータベースと2つの表は、今作成しました。

その後、データベース・マネージャー・クラスを構築する、など:

パブリッククラスReaderManager

コンストラクタを追加します。

公共ReaderManager(コンテキストconetxt){
         this.context = 文脈。 readerOpenHelper = 新しいReaderOpenHelper(conetxt)。}

テーブルの動作方法を次に添加します。

コードをコピー
パッケージcom.zhou.db。

輸入はjava.util.ArrayList; 輸入はjava.util.List; 輸入com.zhou.utils.Books。輸入com.zhou.utils.Reader。輸入android.content.ContentValues。輸入android.content.Context; 輸入android.database.Cursor; 輸入android.database.sqlite.SQLiteDatabase; 輸入android.util.Log; パブリッククラスReaderManager {ReaderOpenHelper readerOpenHelper。コンテキストコンテキスト。公共ReaderManager(コンテキストconetxt){ this.context = 文脈。readerOpenHelper = 新しいReaderOpenHelper(conetxt)。} //增加读者公共ボイドaddSQL(リーダリーダ){SQLiteDatabase DB = NULL ; 試す{DB = readerOpenHelper.getWritableDatabase()。ContentValues値= 新しいContentValues()。values.put( "番号変更" 、reader.getReNumber()); values.put( "名前の変更" 、reader.getName()); values.put( "再入力" 、reader.getSex()); values.put( "reage" 、reader.getAge()); values.put( "rephone" 、reader.getPhoneNumber()); values.put( "CREATETIME" 、reader.getCreateTime()); values.put( "usename" 、reader.getUseName()); values.put( "パスワード" 、reader.getPassword()); db.insert( "読者"、NULL 、値)。} キャッチ(例外e){ // TODO:例外を処理} 最後に{db.close()。}} // 增加图书公共ボイドbookAddSQL(書籍の書籍){SQLiteDatabase DB = NULL ; 試す{DB = readerOpenHelper.getWritableDatabase()。ContentValues値= 新しいContentValues()。values.put( "booknumber" 、book.getBookNumber()); values.put( "bookname" 、book.getBookName()); values.put( "ブックタイプ" 、book.getBookType()); values.put( "bookeditor" 、book.getBookEditer()); values.put( "インタイム" 、book.getInTime()); values.put( "incounts" 、book.getCount()); db.insert( "ブック"、、値)。} キャッチ(例外e){ // TODO:}例外を処理し、最終的に{db.close()。}} // 读者查询公衆リスト<リーダー> selectSQL(){リスト<リーダー>リスト= 新規のArrayList <リーダー> (); SQLiteDatabaseデシベル= nullを// 获取一个光标对象カーソルカーソル= nullを試す{DB = readerOpenHelper.getReadableDatabase()。カーソル= db.query( "読者"、NULL、NULL、NULL、NULL、NULL、NULL ); リーダーリーダー= nullを一方、(cursor.moveToNext()){リーダー= 新しいですリーダー(); reader.setReNumber(cursor.getInt(カーソル.getColumnIndex( "再番号付け" )))。reader.setName(cursor.getString(cursor.getColumnIndex( "名前の変更" ))); reader.setSex(cursor.getString(cursor.getColumnIndex( "再入力" ))); reader.setAge(cursor.getString(cursor.getColumnIndex( "reage" ))); reader.setPhoneNumber(cursor.getString(カーソル.getColumnIndex( "rephone" )))。reader.setCreateTime(cursor.getString(カーソル.getColumnIndex( "CREATETIME" )))。reader.setUseName(cursor.getInt(カーソル.getColumnIndex( "usename" )))。reader.setPassword(cursor.getInt(カーソル.getColumnIndex( "パスワード" ))); list.add(リーダー)。}} キャッチ(例外e){ // TODO:{cursor.close()。db.close(); } 戻りリスト。} // 图书查询公衆リスト<本> bookSelectSQL(){リスト<本>リスト= 新規のArrayList <本> (); SQLiteDatabaseデシベル= nullを// 获取一个光标对象カーソルカーソル= nullを試す{DB = readerOpenHelper.getReadableDatabase()。カーソル= db.query( "書籍"、NULL、NULL、NULL、NULL、NULL、NULL ); 洋書=予約はnullをしばらく(cursor.moveToNext()){ブック= 新しい書籍(); book.setBookNumber(cursor.getInt(カーソル.getColumnIndex( "booknumber"))); book.setBookName(cursor.getString(カーソル.getColumnIndex( "bookname" )))。book.setBookType(cursor.getString(カーソル.getColumnIndex( "ブックタイプ" )))。book.setBookEditer(cursor.getString(カーソル.getColumnIndex( "bookeditor" )))。book.setInTime(cursor.getString(cursor.getColumnIndex( "インタイム" ))); book.setCount(cursor.getInt(cursor.getColumnIndex( "incounts" ))); Log.d( "TAGG"、cursor.getString(cursor.getColumnIndex( "インタイム" )))。list.add(書籍); }} キャッチ(例外e){ // TODO:}例外を処理し、最終的に{cursor.close()。db.close(); } 戻りリスト。長いID){SQLiteDatabase DB = NULL ; 試す{DB = readerOpenHelper.getWritableDatabase()。db.delete( "読者"、+ ID "=番号を付け" NULL )。} キャッチ(例外e){} 最後に{db.close()。}} // 读者更新公衆無効にupdateData(int型のID、文字列名、文字列の性別、文字列の年齢、文字列にphoneNumber、int型のパスワード){SQLiteDatabaseデシベル= nullを試す{DB = readerOpenHelper.getWritableDatabase()。ContentValues値= 新しいContentValues()。values.put( "名前の変更" 、名); values.put( "再入力"、性別)。values.put( "reage" 年齢); values.put( "rephone" にphoneNumber)。values.put( "パスワード" 、パスワード); db.update( "読者"の値、+ ID、 "=番号を付け直す" ヌル)。} キャッチ(例外e){ // TODO:}例外を処理し、最終的に{db.close()。}} // パブリックロング同様にgetCount(){ // // カーソルカーソル= NULL; // 長い、カウント= 0; // SQLiteDatabaseデシベル= NULL; // 試みる{ // DB = readerOpenHelper.getWritableDatabase()。// カーソル= db.query( "読者"、NULL、NULL、NULL、NULL、NULL、NULL);もし(ヌル=カーソル!){ // カウント数= cursor.getCount(); // cursor.close(); // } // }キャッチ(例外e){ // }最後に{ // db.close()。// } // リターンがカウント。// } }

おすすめ

転載: www.cnblogs.com/dogdogwang/p/10988922.html