qt 数据库表不存在则创建



方法一:获取此表的数量,如果数量不为0则存在

QSqlQuery *m_pQuery = new QSqlQuery(m_msgdb);
if( m_pQuery->exec(QString("select count(*) from sqlite_master where type='table' and name='WarnMsg'")))  //关键的判断
{
m_pQuery->next();
int x = m_pQuery->value(0).toInt();
if( x == 0 )
{
QString strSql  = QString::fromLocal8Bit("create table WarnMsg( 内容 varchar);");
if(!m_pQuery->exec( strSql ) )
{
QSqlError str = m_pQuery->lastError();
QMessageBox::information( NULL, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("警报信息数据库表创建失败!"));

}
}
}

方法二:直接用SQL语句

QSqlQuery *m_pdQuery = new QSqlQuery(m_datadb);
QString strsql = QString::fromLocal8Bit("create table if not exists dataInfo( 设备名称 varchar, 设备ID varchar, 时间 varchar, 类型 varchar, 测量值 varchar);");
if(!m_pdQuery->exec( strsql ) )
{
QSqlError str = m_pdQuery->lastError();
QString strerror = str.text();
QMessageBox::information( NULL, QString::fromLocal8Bit("提示"),strerror);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值