數(shù)據(jù)庫(kù)的相關(guān)操作_第1頁(yè)
數(shù)據(jù)庫(kù)的相關(guān)操作_第2頁(yè)
數(shù)據(jù)庫(kù)的相關(guān)操作_第3頁(yè)
數(shù)據(jù)庫(kù)的相關(guān)操作_第4頁(yè)
數(shù)據(jù)庫(kù)的相關(guān)操作_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 數(shù)據(jù)庫(kù)的相關(guān)操作:Bean: public static final String UNAME=“uname”; private String uname; Bean中靜態(tài)、唯一的 常量 必須 要 賦值。(而且一般要大寫(xiě))(私有的一般要小寫(xiě))SQL語(yǔ)句加雙引號(hào) ” sql ” ,而引號(hào)里面的語(yǔ)句 原樣輸出。create table tabname ( uname varchar ) 全用雙引號(hào)即可。但是 INSERT語(yǔ)句中:insert into tabname(asdf,asfd,sfd)values(asdf,sdf,asdf);Vlaues() 里面的內(nèi)容要有 單 引號(hào)。即在原來(lái) 雙引

2、號(hào) 的基礎(chǔ)上再加上 單引號(hào). 那些個(gè)不變的東西全部放在 雙引號(hào) 里面引起來(lái)只是 變量 不能放在 雙引號(hào) 里面, 而且還有加 上連接符號(hào) + db.execSQL(create table +TABLENAME +( +User._ID + integer primary key ,+User.UNAME + text ,+User.GENDER + text ,+User.REGDATE + text ,+User.CLASSNMAE + text ,+User.DEMO + text ,+User.TAG + text+); );歡迎使用行知匯元教學(xué)管理平臺(tái)!歡迎使用行知匯元教學(xué)管理平臺(tái)!內(nèi)

3、網(wǎng)網(wǎng)址:內(nèi)網(wǎng)網(wǎng)址:11用戶(hù)名:個(gè)人姓的全拼用戶(hù)名:個(gè)人姓的全拼+名的首字母名的首字母例:張小茹例:張小茹用戶(hù)名:用戶(hù)名:zhangxr初始密碼:初始密碼:123 提交問(wèn)題郵箱是:提交問(wèn)題郵箱是:出錯(cuò)了:Caused by: android.database.sqlite.SQLiteException: near tableUserTable: syntax error: create tableUserTable(_id INTEGER PRIMARY KEY,uname text ,classname text ,gender text ,regdat

4、e text ,demo text ,tag text ,)(1)剛開(kāi)始是表名寫(xiě)成了table,而這個(gè)單詞是個(gè)保留字,不能用來(lái)被命名,須改成別的名字。(2)是create table和表名UserTable之間沒(méi)有寫(xiě)空格,所以報(bào)錯(cuò)了。(3)是(,)最后多寫(xiě)了一個(gè)逗號(hào),,這是一個(gè)多余的東西。刪除數(shù)據(jù)庫(kù)的時(shí)候出錯(cuò)了:public Boolean delete(String _id)int data = database.delete(TABLENAME, _id=?, new String_id);這是new String里面的數(shù)據(jù)傳的不是_id,而是傳成了user.get_id().所以就刪除不

5、了數(shù)據(jù)。public class DB extends SQLiteOpenHelperDB db = new DB(getApplicationContext();或 DB db = new DB(this);或 DB db = new DB(context); Public void insert(SQLiteBean bean)SQLiteDatabase database = db.getWritbaleDatabase();String sql=“insert into ”+TABLENAME(表名)+“ ”+”(”+SQLiteBean.CLASSNAME+SQLiteBean.T

6、AG+”)”+” ”+values”(”+ “ “ +“)”; 注意: 單引號(hào)()必須把雙引號(hào)( “ ” )一刀劈開(kāi),即( “() ” ) ( “() ” ),每次只要半個(gè)( “ ” )。例子:public void insert(User user) String sqll=insert into +TABLENAME+ (+ User.UNAME+ ,+User.CLASSNMAE+ ,+User.GENDER+ ,+ User.REGDATE+ ,+User.DEMO+ ,+User.TAG+) values (+ user.getUname()+, +user.getClassname

7、()+ , + user.getGender()+ , +user.getRegDate()+ ,+ user.getDemo()+ ,+user.getTag()+ +); database.execSQL(sqll); 實(shí)例化內(nèi)部類(lèi):外部類(lèi).內(nèi)部類(lèi) 對(duì)象 = new 外部類(lèi)().new 內(nèi)部類(lèi)();例如:UserProvider.DB db=new UserProvider(this).new DB(this);SQLiteDatabase d=SQLiteDatabase.create(null);db.onCreate(d); /這個(gè)onCreate()方法是內(nèi)部類(lèi)DB的方法。 查看數(shù)

8、據(jù)庫(kù)內(nèi)的表:實(shí)例:public List findAllUser()List list = new ArrayList();Cursor cursor = database.query(TABLENAME, null, null , null, null, null, null);cursor.moveToFirst(); if(cursor.getPosition()!=cursor.getCount()-1)User user = new User();user.set_id(cursor.getString(0);user.setUname(cursor.getString(1);use

9、r.setClassname(cursor.getString(2);user.setGender(cursor.getString(3);user.setRegDate(cursor.getString(4);user.setDemo(cursor.getString(5);user.setTag(cursor.getString(6); list.add(user); cursor.moveToNext();cursor.close();database.close();return list; 增加INSERT表的操作:總結(jié): Cursor cursor;cursor 相當(dāng)于一個(gè)結(jié)果集,

10、要取出數(shù)據(jù)庫(kù)中表里的結(jié)果,Cursor.getString( int 第i列); 先從cursor中取出數(shù)據(jù),再用Bean 設(shè)置User.set列名(cursor.getString(i); i為表中的第i列 i是整數(shù)。要特別注意Cursor:使用cursor時(shí),一定要先將cursor.moveToFirst(); /將游標(biāo)移到第一行.當(dāng)再次使用時(shí)要cursor.moveToNext(); /將游標(biāo)移到第下一行.使用完畢后要關(guān)閉游標(biāo)和數(shù)據(jù)庫(kù).public view getView(int position, View convertView, ViewGroup parent) / Layou

11、tInflater的用法:LayoutInflater inflater = LayoutInflater.from(當(dāng)前class.this);LinearLayout linlayout = (LinearLayout) Inflater.inflate(R.layout.另一個(gè)布局xml,null);Button btnDel = (Button)linlayout.findViewById(R.id.btnDel);btnDel.setOnClickListener(new OnClickListener() public void onClick(View V) Provider p

12、 = new Provider() ; 處理數(shù)據(jù)的類(lèi)(增.刪.改.查): p.delete(user.get_id(); 調(diào)用這個(gè)類(lèi)里面的方法. freshData(); 調(diào)用自身 Toast.makeText().show; );Button btnUpdate = (Button)linlayout.findViewById(R.id.btnUpdate); /Intent可以把數(shù)據(jù)傳送到另一個(gè)頁(yè)面去:btnUpdate.setOnClickListener(new OnClickListener() public void onClick(View V) Toast.makeText(當(dāng)

13、前類(lèi).this, user.get_id()+”id is showing”,.).show(); Intent intent = new Intent(當(dāng)前類(lèi).this , 下一個(gè)類(lèi).class); intent.putExtras(“_id” , user.get_id(); 發(fā)送方 /以key, values 形式把數(shù)據(jù)傳送到另一個(gè)頁(yè)面 startActivity(intent); /另一個(gè)頁(yè)面接收的是: /String id = getIntent().getStringExtra(“_id”); 接收方 );TextView txtDemo = (TextView)linlayout

14、.findViewById(R.id.txtDemo);txtDemo.setText(user.getDemo();return linlayout; (1) /getView() 方法結(jié)束.public int getCount() (2) /getCount方法 List list = new ArrayList(); return list=null?null: list.size();public int getViewTypeCount() (3) /getViewTypeCount()方法 return 1;/getView() / getCount() / getViewTyp

15、eCount() 這三個(gè)方法必須實(shí)現(xiàn) List的用法:List list = new Arraylist(); /范型為user型的public list findAllUser() /返回LIST 列表list =provider(類(lèi)名).findAllUser(方法); /得到LIST 列表final User user = list.get (Positive); /得到用戶(hù)的所有信息.return list=null?0:list.size(); /判斷用戶(hù)信息是否為空.當(dāng)實(shí)現(xiàn) implements OnItemOnClickListener 這個(gè)接口時(shí):當(dāng)視圖中平行著有好多條數(shù)據(jù),點(diǎn)

16、擊其中一條數(shù)據(jù)時(shí),出現(xiàn)一個(gè)窗口,用OnItemOnClickListener 必須要實(shí)現(xiàn) public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) String id = (String)arg1.getTag(); arg1是View是視圖,可以獲取標(biāo)簽 Intent intent = new Intent(當(dāng)前.this , 下一頁(yè)面.class); intent.putExtra(“id” , id); / 以key,values的形式傳值i id. startActivity(intent);(下

17、面的實(shí)例展示如何創(chuàng)建一個(gè)使用自定義的 adapter 顯示天氣數(shù)據(jù)的ListView?;镜臍庀髷?shù)據(jù)存儲(chǔ)在哈希表中。在最高級(jí)別,Key是一個(gè)字符串,代表郵政編碼。此鍵(郵政編碼)Hashtable的值包含當(dāng)前的溫度,濕度和一個(gè)圖標(biāo),表示天氣狀況。這些都是字符串,以及。 ListView和適配器一起工作,以顯示各種郵政編碼這些天氣條件的清單。為了使這樣的天氣數(shù)據(jù),列表單元格渲染器使用TableLayout顯示這些天氣條件 - 每個(gè)單元由一個(gè)2行表:第一行有2個(gè)單元 - 圖標(biāo)和溫度,第二行有1單元 - 濕度。)這個(gè)實(shí)例太過(guò)于復(fù)雜不適合初學(xué)者,我這里使用高煥堂編寫(xiě)的應(yīng)用框架原理與程序開(kāi)發(fā)中的例子顯示

18、如何使用 ListView。本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:file:/H:/Android網(wǎng)頁(yè)(Spinner及ListView)/Android學(xué)習(xí)筆記%20-%20如何在程序中使用%20ListView%20-%20月光寶盒%20-%20CSDN博客.mht第一種方法:adapter=new ArrayAdapter(this,android.R.layout.simple_spinner_item, str); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); sp.se

19、tAdapter(adapter);默認(rèn)的:int j=str.length; for(int i=0;ij;i+) if(stri.equals(456) sp.setSelection(i); 第二種方法:sp.setAdapter(new SpinnerAdapter() /Override/public void unregisterDataSetObserver(DataSetObserver observer) / TODO Auto-generated method stub/Override/public void registerDataSetObserver(DataSet

20、Observer observer) / TODO Auto-generated method stub/Override/public boolean isEmpty() / TODO Auto-generated method stub/return false;/Override/public boolean hasStableIds() / TODO Auto-generated method stub/return false;/Override/public int getViewTypeCount() / TODO Auto-generated method stub/retur

21、n 0;/Override/public View getView(int position, View convertView, ViewGroup parent) /TextView tv=new TextView(MainActivity.this);/tv.setText(strposition);/return tv;/Override/public int getItemViewType(int position) / TODO Auto-generated method stub/return 0;/Override/public long getItemId(int position) / TODO Auto-generated method stub/return

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論