rawquery 没扎到返回什么_Flutter之踩坑的日子(RawQuery的使用)
任何一種開發,都不可避免地需要和數據庫打交道。在Flutter中,使用的數據庫是SQLite3,并且Flutter提供了一套接口來使用它。
今天在這里只說這套接口中的 Database中的一個方法,rawQuery
這個方法調用sql語句,返回一個List類型的數據集。
首先List對應的是返回的整個數據集(Query)。
其次,List中的每一項,都是一個Map類型的變量,對應的是這個Query中的一條記錄(如果存在多條記錄)。
查看Dart語言中對于List和Map的定義,結合實際查詢得到的返回值,確認內容如下:
[{id: 8874CD87-AFB9-4FC1-91BC-D59492E7E063, page: 1, topic: , mainbody: , create_datetime: 2020-10-07 11:32:46, first_datetime: null, last_datetime: null}]
List對應記錄集[]中的所有內容
Map對應單條記錄{}中的所有內容
要訪問查詢得到的記錄集,可以使用for each來遍歷list。
要訪問記錄集中的一個字段(已知名稱)可以用Map['字段名']
看起來有點像json,對不對?
static Future getFirstEmptyPage(String noteBookName) async {
String newGuid = "";
List mQuery = [];
if ((_database != null) && (noteBookName != null)) {
String sql =
"select * from$noteBookNamewhere first_datetime isnull order by create_datetime limit 0,1";
print("Show getFirstEmptyPage sql :");
print(sql);
mQuery = await _database.rawQuery(sql);
print("Data in mQuery is :");
print(mQuery);
Map mt = new Map();
mt = mQuery[0];
print("Data id is : " + mt['id']);
newGuid = mt["id"];
}
return newGuid;
}
千里筆記測試版的GIT地址?github.com
總結
以上是生活随笔為你收集整理的rawquery 没扎到返回什么_Flutter之踩坑的日子(RawQuery的使用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快手极速版截图分享在哪
- 下一篇: 快手极速版摇一摇广告怎么关闭