Presentation is loading. Please wait.

Presentation is loading. Please wait.

6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」

Similar presentations


Presentation on theme: "6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」"— Presentation transcript:

1 6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」
id name price  0 りんご 150  1 オレンジ 200  2 なし 200  3 ぶどう 300  4 柿 100

2 表の作成・削除 データ操作 SQL文 表の作成 CREATE TABLE 表名(列名 型,…)
データ操作 SQL文 表の作成 CREATE TABLE 表名(列名 型,…) 列の追加 ALTER TABLE 表名 ADD 列名 型,…) 表の削除 DROP TABLE 表名

3 データの追加・更新・削除 データ操作 SQL文 データ追加 INSERT INTO 表名 VALUES(値,値,…)
データ操作 SQL文 データ追加 INSERT INTO 表名 VALUES(値,値,…) データ更新 UPDATE 表名 SET 列名=値 WHERE 条件 データ削除 DELETE FROM 表名 WHERE 条件

4 プログラム例(その1) package jp.eclipse; import android.app.*;
import android.database.*; import android.database.sqlite.*; import android.os.*; import android.widget.*; public class DbCreateActivity extends Activity { ListView listV; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout LL= new LinearLayout(this); LL.setOrientation(LinearLayout.HORIZONTAL); setContentView(LL); listV=new ListView(this); String dbName="data/data/"+getPackageName()+"/sample.db";

5 プログラム例(その2) // Data Base Create SQLiteDatabase db=
SQLiteDatabase.openOrCreateDatabase(dbName,null); String Q0="DROP TABLE IF EXISTS fruit"; String Q1="CREATE TABLE fruit"+ "(id INTEGER PRIMARY KEY, name STRING, price INTEGER)"; String[] Q2={"INSERT INTO fruit(id, name, price) VALUES(0,'りんご',150)", "INSERT INTO fruit(id, name, price) VALUES(1,'オレンジ',200)", "INSERT INTO fruit(id, name, price) VALUES(2,'なし',200)", "INSERT INTO fruit(id, name, price) VALUES(3,'ぶどう',300)", "INSERT INTO fruit(id, name, price) VALUES(4,'柿',100)"}; String Q3="SELECT * FROM fruit"; db.execSQL(Q0); db.execSQL(Q1); for(int i=0;i<Q2.length;i++) db.execSQL(Q2[i]); Cursor cr = db.rawQuery(Q3, null); startManagingCursor(cr); ArrayAdapter<String> ad =new ArrayAdapter<String> (this, android.R.layout.simple_list_item_1);

6 プログラム例(その3) while(cr.moveToNext()) { int i = cr.getColumnIndex("id");
int n = cr.getColumnIndex("name"); int p = cr.getColumnIndex("price"); int id=cr.getInt(n); String name =cr.getString(n); int price=cr.getInt(p); String str = id + " : " + name + " = " + price + " 円"; ad.add(str); } listV.setAdapter(ad); LL.addView(listV); db.close();   }

7 結果例 リストとして表示

8 「adb.exe」が見つからないとのエラーで動かないとき…
①マイコンピュータを右クリックしてプロパティを開く。 ②「システムの詳細設定」を選択する。 ③「詳細設定」タブの「環境変数」を開く。 ④「システム環境変数」の中から「path」という項目を探して選択し,「編集」をクリック。 ⑤変数値の最後にAndroid SDK の「platform-tools」フォルダの場所を書き込む。たとえば,c:\androidsdk/platform-toolsにフォルダがあったら, “;c:\androidsdk/platform-tools” を追加する。パスの前にセミコロン(;)を入れることに注意する。 ⑥「OK」ボタンをクリックしてウィンドウを閉じる。 ⑦「アクセサリ」の「コマンドプロンプト」を起動して,       >path[ENTER] とキーインすると,⑤でキーインしたパスが表示されることを確認する。 

9 2.条件による検索e 【Q3の文字列を以下のように書き直す。 SELECT * FROM fruit WHERE price>=200
id name price  0 りんご 150  1 オレンジ 200  2 なし 200  3 ぶどう 300  4 柿 100

10 3.名前による検索 【Q3の文字列を以下のように書き直す。 SELECT * FROM fruit WHERE name=‘なし’
id name price  0 りんご 150  1 オレンジ 200  2 なし 200  3 ぶどう 300  4 柿 100

11 4.データの一部で検索 【Q3の文字列を以下のように書き直す。 SELECT * FROM fruit WHERE name=‘%ど%’
id name price  0 りんご 150  1 オレンジ 200  2 なし 200  3 ぶどう 300  4 柿 100

12 5.値の順に並べる 【Q3の文字列を以下のように書き直す。 SELECT * FROM fruit ORDER BY price
id name price  0 りんご 150  1 オレンジ 200  2 なし 200  3 ぶどう 300  4 柿 100

13 6.値の大きい順に並べる 【Q3の文字列を以下のように書き直す。
SELECT * FROM fruit ORDER BY price DESC 表「fruit」 id name price  0 りんご 150  1 オレンジ 200  2 なし 200  3 ぶどう 300  4 柿 100


Download ppt "6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」"

Similar presentations


Ads by Google