亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于循環查詢語句里面一個問題

一開始不是用Cursor的時候,是每次輸出getInt,getSting不同類型。

為什么現在用Cursor 然后遍歷循環的時候可以直接只輸出getString,里面的_id和age不是integer類型的嗎?

正在回答

5 回答

通過查getString()方法,我發現此方法接收一個int類型參數,輸入String,getInt()接收int,輸出int,但我的目的都是要String,所以不如全都用getString()方法了。

0 回復 有任何疑惑可以回復我~
#1

慕粉18817939419 提問者

獲取的int類型是列的索引吧,數據里面,_id和age不是都是int類型嗎,為什么要string類型輸出,還不會報錯
2016-10-13 回復 有任何疑惑可以回復我~
#2

被窩別走 回復 慕粉18817939419 提問者

不報錯是因為getString()的參數是int。為什么要String類型輸出,是因為我們要打印Log信息。
2016-10-13 回復 有任何疑惑可以回復我~
#3

慕粉18817939419 提問者

非常感謝!
2016-10-14 回復 有任何疑惑可以回復我~

Sql 會轉換的。

0 回復 有任何疑惑可以回復我~

你運行時兩種方法都能通過嗎?你查一下數據庫看一下數據時什么類型的

0 回復 有任何疑惑可以回復我~
#1

慕粉18817939419 提問者

就是老師寫的樣子,可以通過輸出結果
2016-10-13 回復 有任何疑惑可以回復我~
Cursor?c=db.rawQuery("select?*?from?usertb",?null);
		if(c!=null){
			while(c.moveToNext()){
			Log.i("info",?"_id:"+c.getInt(c.getColumnIndex("_id")));
			Log.i("info",?"name:"+c.getString(c.getColumnIndex("name")));
			Log.i("info",?"sex:"+c.getString(c.getColumnIndex("sex")));
			Log.i("info",?"age:"+c.getInt(c.getColumnIndex("age")));
			Log.i("info",?"!!!!!!!!!!!!!!!!!!!");
			}
			c.close();
		}
		db.close();

這是一開始老師的寫法

Cursor?c=db.rawQuery("select?*?from?stutb",?null);
		if(c!=null){
			String?[]cols=c.getColumnNames();
			while(c.moveToNext()){
				for?(String?ColumnName?:?cols)?{
					Log.i("info",?ColumnName+":"+c.getString(c.getColumnIndex(ColumnName)));
				}
				
			}
			c.close();
		}
		db.close();

這是老師后來的寫法,為啥后面這種不用區分int和string?

0 回復 有任何疑惑可以回復我~

源代碼

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android攻城獅的第二門課(第3季)
  • 參與學習       74894    人
  • 解答問題       444    個

手勢識別、數據存儲和4大組件,讓你牢牢掌握之前的基礎知識點

進入課程

關于循環查詢語句里面一個問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號