實(shí)驗(yàn)SQLite數(shù)據(jù)庫(kù)的使用_第1頁(yè)
實(shí)驗(yàn)SQLite數(shù)據(jù)庫(kù)的使用_第2頁(yè)
實(shí)驗(yàn)SQLite數(shù)據(jù)庫(kù)的使用_第3頁(yè)
實(shí)驗(yàn)SQLite數(shù)據(jù)庫(kù)的使用_第4頁(yè)
實(shí)驗(yàn)SQLite數(shù)據(jù)庫(kù)的使用_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)11SQLite數(shù)據(jù)庫(kù)的使用一、實(shí)驗(yàn)?zāi)康?掌握創(chuàng)建SQLite數(shù)據(jù)庫(kù)的方法;2掌握實(shí)現(xiàn)對(duì)SQLite數(shù)據(jù)增刪改查的方法;3學(xué)會(huì)使用adb調(diào)試工具查看數(shù)據(jù)庫(kù)和數(shù)據(jù)表;二、知識(shí)要點(diǎn)1創(chuàng)建SQLite數(shù)據(jù)庫(kù)的方法:定義一個(gè)幫助類MyHelper繼承SQLiteOpentHelper類;在MyHelper類中定義構(gòu)造方法,重寫(xiě)onCreate()和onUpgrade()方法;在onCreate(SQLiteDatabasedb)方法中,通過(guò)參數(shù)db調(diào)用execSQL(String sql)方法執(zhí)行建表SQL語(yǔ)句;創(chuàng)建一個(gè)MyHelper類對(duì)象helper,調(diào)用構(gòu)造方法對(duì)其進(jìn)行初始化,然后由help

2、er對(duì)象調(diào)用getWritableDatabase()方法或getReadableDatabase()創(chuàng)建數(shù)據(jù)庫(kù)。2實(shí)現(xiàn)SQLite數(shù)據(jù)增刪改查的方法:(1)添加數(shù)據(jù):獲取一個(gè)SQLiteDatabase對(duì)象db;通過(guò)db對(duì)象調(diào)用以下任一方法實(shí)現(xiàn)數(shù)據(jù)添加:a)execSQL(String sql)方法執(zhí)行insert SQL語(yǔ)句;如:db.execSQL(“insert into table_name(column_list) values(value_list)”);b)調(diào)用insert(表名,null,添加的數(shù)據(jù)values)方法:首先,定義一個(gè)ContentValues對(duì)象values,

3、通過(guò)values對(duì)象調(diào)用put()方法將要添加的數(shù)據(jù)存入values對(duì)象,然后再通過(guò)db對(duì)象調(diào)用insert()方法,將values中的數(shù)據(jù)添加到指定的數(shù)據(jù)表中。(2)更新數(shù)據(jù):獲取一個(gè)SQLiteDatabase對(duì)象db;通過(guò)db對(duì)象調(diào)用以下任一方法實(shí)現(xiàn)數(shù)據(jù)添加:a)execSQL(String sql)方法執(zhí)行update SQL語(yǔ)句;如:db.execSQL(“update table_name set column=value, where condition”);b)調(diào)用update(String table,ContentValuesvalues,StringwhereClause

4、,String whereArgs)方法:首先,定義一個(gè)ContentValues對(duì)象values,通過(guò)values對(duì)象調(diào)用put()方法將要更新的數(shù)據(jù)存入values對(duì)象,然后再通過(guò)db對(duì)象調(diào)用update()方法,指定要修改數(shù)據(jù)的表名,更新的數(shù)據(jù)values,約束更新某一行火某幾行中的數(shù)據(jù)。(3)刪除數(shù)據(jù):獲取一個(gè)SQLiteDatabase對(duì)象db;通過(guò)db對(duì)象調(diào)用以下任一方法實(shí)現(xiàn)數(shù)據(jù)添加:a)execSQL(String sql)方法執(zhí)行delete SQL語(yǔ)句;如:db.execSQL(“delete from table_name where condition”);b)調(diào)用del

5、ete(String table,String whereClause,String whereArgs)方法,指定要?jiǎng)h除數(shù)據(jù)的表名稱,以及約束刪除某一行或某幾行中的數(shù)據(jù)。(4)查詢數(shù)據(jù):獲取一個(gè)SQLiteDatabase對(duì)象db;通過(guò)db對(duì)象調(diào)用query()方法,指定要查詢的表名、列名、以及where約束條件等,并將查詢結(jié)果存入一個(gè)Cursor對(duì)象中。如:Cursor cursor=db.query(表名,列名,where約束條件,為where中的占位符提供具體的,null,null,null);三、實(shí)驗(yàn)內(nèi)容1創(chuàng)建一個(gè)Android項(xiàng)目,項(xiàng)目名稱為“shiyan1101_專業(yè)_×

6、;××(學(xué)生姓名)”,要求:(1)自動(dòng)創(chuàng)建Activity;(2)使用XML編寫(xiě)界面;(3)界面構(gòu)成:4個(gè)文本框,分別用來(lái)顯示提示信息“圖書(shū)名稱”、“圖書(shū)作者”、“圖書(shū)價(jià)格”、“圖書(shū)頁(yè)數(shù)”;4個(gè)編輯框,分別用來(lái)接收用戶輸入“圖書(shū)名稱”、“圖書(shū)作者”、“圖書(shū)價(jià)格”、“圖書(shū)頁(yè)數(shù)”;5個(gè)按鈕,文本顯示分別為“創(chuàng)建SQLite數(shù)據(jù)庫(kù)”、“添加數(shù)據(jù)”、“修改數(shù)據(jù)”、“刪除數(shù)據(jù)”、“查詢數(shù)據(jù)”。(4)程序?qū)崿F(xiàn)功能:點(diǎn)擊“創(chuàng)建SQLite數(shù)據(jù)庫(kù)”按鈕,創(chuàng)建一個(gè)SQLite數(shù)據(jù)庫(kù)BookStore.db,并創(chuàng)建一個(gè)數(shù)據(jù)表Book,通過(guò)Toast顯示“數(shù)據(jù)庫(kù)BookStore.db創(chuàng)建成功!

7、”,要求使用adb查看數(shù)據(jù)庫(kù)創(chuàng)建是否成功。點(diǎn)擊“添加數(shù)據(jù)”按鈕,將用戶在編輯框中輸入的圖書(shū)名稱、圖書(shū)作者、圖書(shū)價(jià)格、圖書(shū)頁(yè)數(shù)等數(shù)據(jù)寫(xiě)入添加到數(shù)據(jù)表Book中。點(diǎn)擊“修改數(shù)據(jù)”按鈕,將數(shù)據(jù)表Book中指定的數(shù)據(jù)進(jìn)行修改,條件根據(jù)題目自己設(shè)定。點(diǎn)擊“刪除數(shù)據(jù)”按鈕,將數(shù)據(jù)表Book中指定的數(shù)據(jù)刪除,刪除條件根據(jù)題目自己設(shè)定。點(diǎn)擊“查詢數(shù)據(jù)”按鈕,查詢數(shù)據(jù)表Book中指定的數(shù)據(jù),將查詢結(jié)果通過(guò)Log顯示。(5)實(shí)驗(yàn)報(bào)告中要求用語(yǔ)言描述具體的實(shí)驗(yàn)步驟,并附以截圖做輔助說(shuō)明。【具體過(guò)程參見(jiàn)課件第3部分?jǐn)?shù)據(jù)存儲(chǔ)中的練習(xí)2-6?!縈ydatebase,javapublic class Mydatebase

8、extends SQLiteOpenHelper public static final String cerat= "create table if not exists book( _id integer primary key autoincrement, " + "name text,zuozhe text , price real,page integer );" public Mydatebase(Context context, String name, CursorFactory factory,int version) super(co

9、ntext, name, factory, version);/ TODO Auto-generated constructor stubOverridepublic void onCreate(SQLiteDatabase db) / TODO Auto-generated method stubdb.execSQL( cerat);Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) / TODO Auto-generated method stub創(chuàng)建數(shù)據(jù)庫(kù)按鈕protected

10、void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mydb=new Mydatebase(MainActivity.this, "BookStore.db", null, 1);btcreat=(Button)findViewById(R.id.create);btcreat.setOnClickListener(new OnClickListener() Overridepublic void

11、onClick(View v) / TODO Auto-generated method stubdb=mydb.getWritableDatabase();/db.execSQL(INSERT_DATA);db.execSQL("insert into book (name,zuozhe,price,page)" +"Values('dnjkc','fdg',35.0,123)"););添加數(shù)據(jù)按鈕edname=(EditText)findViewById(R.id.ed1);edau=(EditText)findVie

12、wById(R.id.ed2);edjiage=(EditText)findViewById(R.id.ed3);edpage=(EditText)findViewById(R.id.ed4);btadd=(Button)findViewById(R.id.add);btadd.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubString sname=edname.getText().toString();String sa

13、u=edau.getText().toString();Double djiage=Double.parseDouble(edjiage.getText().toString();int ipage=Integer.parseInt(edpage.getText().toString();ContentValues values=new ContentValues();values.put("name", sname);values.put("zuozhe",sau);values.put("price", djiage);value

14、s.put("page", ipage);SQLiteDatabase db=mydb.getWritableDatabase();db.insert("book", null, values););修改數(shù)據(jù)按鈕btgai=(Button)findViewById(R.id.xiu);btgai.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubSQLiteDatabase db=myd

15、b.getWritableDatabase();db.execSQL("update book set name='孫孟也' where name='smy'"););刪除數(shù)據(jù)按鈕btdelete=(Button)findViewById(R.id.delete);btdelete.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubSQLiteDatabase db=mydb

16、.getWritableDatabase();db.execSQL("delete from book where name='孫孟也'"););查詢數(shù)據(jù)按鈕btcha=(Button)findViewById(R.id.select);btcha.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stub SQLiteDatabase db=mydb.getWritableDatabase();

17、/查詢Book表中所有的數(shù)據(jù) Cursor cursor=db.query("Book", null, null, null, null, null, null); if(cursor.moveToFirst() do/遍歷cursor對(duì)象,取出數(shù)據(jù)并打印String name=cursor.getString(cursor.getColumnIndex("name");String author=cursor.getString(cursor.getColumnIndex("zuozhe");double price=cursor.getDouble(cursor.getColumnIndex("price");int pages=cursor.getInt(cursor.getColumnIndex("page");Log.d(&q

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論