菜单

查看数据库案例

下载

1.创建页面
2.放三个控件:功能键、列表框、数据查询

3.数据查询控件需要指定一下查询语句,并进行表格设计,以便初始化表格

4.功能键控件添加点击事件处理

language 复制代码
void Frm41::wMButton1_clk_cb(uint16_t code, LvEvent e) {
	/*wMButton1(刷新表)的点击事件*/
	string sql = "SELECT name FROM sqlite_master";
	//获取默认数据库指针(可修改为自己的数据库)
	IDatabase* pdb = DBMgr::getdb();
	//获取数据库所有表
	TTable tb = pdb->query(sql);
	//加入到列表中
	for(uint64_t i=0;i<tb.size();i++) {
		wMList1->addOption(to_string(i), tb.getValue(i, 0));
	}
}

5.列表框控件添加值变化事件处理

language 复制代码
void Frm41::wMList1_vch_cb(uint16_t code, LvEvent e) {
	//取表名
	string tbname = wMList1->getSelectedText();
	//取数据结构的语句(只取一行就行)
	string sql = "SELECT * FROM " + tbname + " LIMIT 1";
	//获取默认数据库指针(可修改为自己的数据库)
	IDatabase* pdb = DBMgr::getdb();
	TTable tb = pdb->query(sql);
	//将数据列组合,用于表控件
	vector<string> vec;
	for(int i=0;i<tb.getColumnCount();i++) {
		string colid = tb.getColumnName(i);
		vec.push_back(colid+","+colid+",100");//(列id,列名,宽度)
	}
	//表控件重置列名
	wMSqliteTable1->setMainArg(0, 0, -1, -1, StringUtil::join(vec,";"), 15, false, 6);
	//数据重置
	tv_wMSqliteTable1->m_tbl = tbname;
	tv_wMSqliteTable1->m_key = tb.getColumnName(0);
	//数据更新到表控件上
	tv_wMSqliteTable1->drawData(true);
}

6.运行

上一个
SQLite数据库操作
下一个
HTTP操作案例
最近修改: 2025-01-04Powered by