Skip to content

Commit fb29c0a

Browse files
author
MuZiLee
committed
1、获取数据库所有表;2、查询某表是否存在
1 parent 1bd09cd commit fb29c0a

File tree

2 files changed

+74
-10
lines changed

2 files changed

+74
-10
lines changed

sqldb/lib/SQLdb/SQLdb.dart

+50-8
Original file line numberDiff line numberDiff line change
@@ -77,20 +77,62 @@ class SQLdb {
7777
database.close();
7878
}
7979

80+
getTableAll({ValueChanged<List<Map>> onChanged}) async{
81+
Database db = await _open();
82+
83+
var sql = "SELECT name FROM sqlite_master WHERE type='table'";
84+
85+
List<Map> tables = await db.rawQuery(sql);
86+
87+
if (onChanged != null) {
88+
89+
onChanged(tables);
90+
}
91+
}
92+
93+
queryTable({ValueChanged<Map> onChanged}) async {
94+
95+
Database db = await _open();
96+
97+
var sql = "SELECT name FROM sqlite_master WHERE type='table' AND name='${table}'";
98+
Map tab = (await db.rawQuery(sql)).last;
99+
100+
print(tab);
101+
102+
if (tab['name'] == table) {
103+
return true;
104+
}
105+
106+
if (onChanged != null) {
107+
onChanged(tab);
108+
}
109+
}
110+
80111
/*
81112
* 插入数据
82113
* */
83114
insert(Map<String, dynamic> json, {ValueChanged<int> onChanged}) async {
84115
Database db = await _open();
85-
int count = await db.insert(
86-
table,
87-
json,
88-
conflictAlgorithm: more ? ConflictAlgorithm.rollback : ConflictAlgorithm.replace,
89-
);
90-
await db.close();
91-
if (onChanged != null) {
92-
onChanged(count);
116+
117+
var sql = "SELECT name FROM sqlite_master WHERE type='table' AND name='${table}'";
118+
List<Map> tables = await db.rawQuery(sql);
119+
120+
print(tables);
121+
122+
123+
for (var o in tables) {
124+
93125
}
126+
127+
// int count = await db.insert(
128+
// table,
129+
// json,
130+
// conflictAlgorithm: more ? ConflictAlgorithm.rollback : ConflictAlgorithm.replace,
131+
// );
132+
// await db.close();
133+
// if (onChanged != null) {
134+
// onChanged(count);
135+
// }
94136
}
95137

96138
/*

sqldb/lib/main.dart

+24-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class _MyAppState extends State<MyApp> {
3333
"step": 2
3434
};
3535
//TODO: 增加数据
36-
SQLdb.init("member_check_login", json: data).insert(data);
36+
SQLdb.init("member_check_login2", json: data).insert(data);
3737
print("增加数据");
3838
},
3939
),
@@ -73,7 +73,29 @@ class _MyAppState extends State<MyApp> {
7373
print("删除数据:${count}");
7474
});
7575
},
76-
)
76+
),
77+
78+
RaisedButton(
79+
child: Text("查询所有表"),
80+
onPressed: () {
81+
SQLdb.init("member_check_login").getTableAll(onChanged: (map){
82+
83+
print(map);
84+
85+
});
86+
},
87+
),
88+
89+
RaisedButton(
90+
child: Text("查询某表是否存在"),
91+
onPressed: () {
92+
SQLdb.init("member_check_login").queryTable(onChanged: (map){
93+
94+
print(map);
95+
96+
});
97+
},
98+
),
7799

78100
],
79101
),

0 commit comments

Comments
 (0)