qt mysql 不能创建表_Qt 数据库创建表失败原因之数据库关键字
本人数据库新手,在创建表时出现问题,最后经查证,找出问题所在。下面的程序是部分节选,在创建数据库表的时候,起先使用的L24的CreateDB,经测试,一直输出 Create testResult Fail,
query->isActive()也为false,这就说明问题出在createDB上,也就是说这个QString应该是不符合要求才出错的。后来逐个测试,最后发现是
check varchar(100)的原因,经查看check是数据库关键字。
1 //创建数据库文件路径
2 testResultPath = APPDIR + "/TestReport/";3 QDir my_dir(testResultPath);4 if (!my_dir.exists())5 my_dir.mkpath(testResultPath);6 testResultPath += "testResult.db";7
8 //创建数据库
9 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");10 //db.setHostName("easybook-3313b0");//可以省略
11 db.setDatabaseName(testResultPath);12 //db.setUserName("CETG54th");//设置数据库用户名,可以省略13 //db.setPassword("123456");//设置数据库密码,可以省略
14 db.open();15 if (!db.isOpen())16 {17 qDebug() << "db is not open";18 return;19 }20
21
22 //创建数据库表
23 QSqlQuery *query = new QSqlQuery("", db);24 //const QString createDB = "create table testResult(id int primary key,testDevice varchar(100),project varchar(100),exc varchar(100),display varchar(100),result varchar(100),time varchar(100),check varchar(100))";//fail
25
26 const QString createDB = "create table testResult(id int primary key,testDevice varchar(100),project varchar(100),exc varchar(100),display varchar(100),result varchar(100),time varchar(100),viewInfo varchar(100))"; //success
27
28 if (query->exec(createDB))29 qDebug() << "Create testResult Successful";30 else
31 qDebug() << "Create testResult Fail";32
33 qDebug() << query->isActive();
下面罗列了数据库关键字
A
ABSOLUTE ACTION ADD ADMINDB
ALL ALLOCATE ALPHANUMERIC ALTER
AND ANY ARE AS
ASC ASSERTION AT AUTHORIZATION
AUTOINCREMENT AVG
B
BAND BEGIN BETWEEN BINARY
BIT BIT_LENGTH BNOT BOR
BOTH BXOR BY BYTE
C
CASCADE CASCADED CASE CAST
CATALOG CHAR CHARACTER CHAR_LENGTH
CHARACTER_LENGTH CHECK CLOSE COALESCE
COLLATE COLLATION COLUMN COMMIT
COMP COMPRESSION CONNECT CONNECTION
CONSTRAINT CONSTRAINTS CONTAINER CONTINUE
CONVERT CORRESPONDING COUNT COUNTER
CREATE CREATEDB CROSS CURRENCY
CURRENT CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP
CURRENT_USER CURSOR
D
DATABASE DATE DATETIME DAY
DEALLOCATE DEC DECIMAL DECLARE
DEFAULT DEFERRABLE DEFERRED DELETE
DESC DESCRIBE DESCRIPTOR DIAGNOSTICS
DISALLOW DISCONNECT DISTINCT DOMAIN
DOUBLE DROP
E
ELSE END END-EXEC ESCAPE
EXCEPT EXCEPTION EXCLUSIVECONNECT EXEC
EXECUTE EXISTS EXTERNAL EXTRACT
F
FALSE FETCH FIRST FLOAT
FLOAT4 FLOAT8 FOR FOREIGN
FOUND FROM FULL
G
GENERAL GET GLOBAL GO
GOTO GRANT GROUP GUID
H
HAVING HOUR
I
IDENTITY IEEEDOUBLE IEEESINGLE IGNORE
IMAGE IMMEDIATE IN INDEX
INDICATOR INHERITABLE INITIALLY INNER
INPUT INSENSITIVE INSERT INT
INTEGER INTEGER1 INTEGER2 INTEGER4
INTERSECT INTERVAL INTO IS
ISOLATION
J
JOIN
K
KEY
L
LANGUAGE LAST LEADING LEFT
LEVEL LIKE LOCAL LOGICAL
LOGICAL1 LONG LONGBINARY LONGCHAR
LONGTEXT LOWER
M
MATCH MAX MEMO MIN
MINUTE MODULE MONEY MONTH
N
NAMES NATIONAL NATURAL NCHAR
NEXT NO NOT NOTE
NULL NULLIF NUMBER NUMERIC
O
OBJECT OCTET_LENGTH OF OLEOBJECT
ON ONLY OPEN OPTION
OR ORDER OUTER OUTPUT
OVERLAPS OWNERACCESS
P
PAD PARAMETERS PARTIAL PASSWORD
PERCENT PIVOT POSITION PRECISION
PREPARE PRESERVE PRIMARY PRIOR
PRIVILEGES PROC PROCEDURE PUBLIC
Q
R
READ REAL REFERENCES RELATIVE
RESTRICT REVOKE RIGHT ROLLBACK
ROWS
S
SCHEMA SCROLL SECOND SECTION
SELECT SELECTSCHEMA SELECTSECURITY SESSION
SESSION_USER SET SHORT SINGLE
SIZE SMALLINT SOME SPACE
SQL SQLCODE SQLERROR SQLSTATE
STRING SUBSTRING SUM SYSTEM_USER
T
TABLE TABLEID TEMPORARY TEXT
THEN TIME TIMESTAMP TIMEZONE_HOUR
TIMEZONE_MINUTE TO TOP TRAILING
TRANSACTION TRANSFORM TRANSLATE TRANSLATION
TRIM TRUE
U
UNION UNIQUE UNIQUEIDENTIFIER UNKNOWN
UPDATE UPDATEIDENTITY UPDATEOWNER UPDATESECURITY
UPPER USAGE USER USING
V
VALUE VALUES VARBINARY VARCHAR
VARYING VIEW
W
WHEN WHENEVER WHERE WITH
WORK WRITE
X
Y
YEAR YESNO
Z
ZONE
上面的关键字主要转自http://zhidao.baidu.com/link?url=RmJBWdmrnxciebfhmXsiJF3bZzgb1Yw0ywkhugHxcyBLKMixClmJl8pulL-m7sasPaAoUgzPqYFlGyPH5gQ36TJOsn7j_iGHDLAbXbfQrJe
另外如果使用数据库出现的问题非上述问题,则推荐博客http://www.cnblogs.com/findumars/p/4207133.html,希望有帮助。
qt mysql 不能创建表_Qt 数据库创建表失败原因之数据库关键字相关推荐
- python 利用正则表达式删除在将一个数据库的表复制到另一个数据库出现insert失败删除原数据库数据
问题描述 博主在做课设的时候需要将一个数据库的表转移到另一个远程数据库中,但是由于两个数据库的mysql版本不同,出现了Incorrect string value: '\xF0\x9F\xA7\xA ...
- qt mysql分页控件_Qt分页布局与切分窗口的实现
一.如何实现分页展示? QStackedLayout类可对窗口实现分页展示,每次只显示一个布局,将其他页的布局隐藏.为方便,Qt提供一个内置QStackedLayout的便利类:QStackedWid ...
- qt向服务器传输文字_Qt 模拟 HTTP 表单提交文字或文件到服务器
传统通过 HTTP 表单的方式来上传文件在 Web 中实现是非常简单的,一个表单中加几个域填写上对应的内容提交就可以了,但如果通过 Qt 来实现就相对麻烦一点,不过我都总结好了代码,直接使用就可以了. ...
- mysql数据库文件损坏的原因_MySQL数据库文件损坏如何解决
以下的文章主要是介绍MySQL数据库文件在坏掉的情况下通过二进值日志对其进行恢复的实际操作方案,本文主要是从造成MySQL数据库文件在坏掉的原理讲起的,以下就是文章的主要内容描述. 一.场景 1.你使 ...
- QT操作XML文件打开了doc.setContent(file)失败原因
1.首先要知道XML文件格式,必须要有一个根节点,如果没有访问会出错 2.相对路径.绝对路径.资源路径都行,如果你路径不对,你Qfile是读取不了文件的,到不了doc.setContent(& ...
- qt连接mysql创建表_Qt编译mysql以及创建表后进行导入操作
鉴于很多同学对Qt编译myql总是不能成功.出现各种问题,今天特此写出本教程,希望可以帮到须要的同学. 首先,须要明确编译的目的和原理. 目的:Qt 5.2版本号曾经都是不带mysql驱动的.所以须要 ...
- linux数据库创建score表,MySQL数据库学习笔记
MySQL数据库学习笔记phpma (实验环境:Redhat9.0,MySQL3.23.54) 纲要: 一,连接MySQL phpma 二,MySQL管理与授权 三,数据库简单操作 四, 数据库备份 ...
- R操作MySQL数据库创建表、删除表、增删改查(CRUD)
R操作MySQL数据库创建表.删除表.增删改查(CRUD) 关系数据中的数据是按照一定范式去存储的.当我们需要非常高级和复杂的Sql查询就可以使用关系数据库的数据资产.不光java和python可以容 ...
- Mysql 查看、创建、更改 数据库和表
一.一探究竟 我想看看有多少个数据库,有多少个表,以及表里有啥东西.那么你可以这样: 图形界面: 命令: 查看多少个数据库:注意 后面带s #查看 SHOW DATABASES; #查看表 USE b ...
最新文章
- SAP MM 初阶之供应商寄售采购模式下ERS功能的测试
- 图解二叉树的先中后序遍历
- Vue creatElement
- postman请求soap 请求_postman中请求如何传递对象到spring controller?
- 6、WHERE:条件查询数据
- Python的enumerater
- 按不同vlan下发dhcp_电脑网络:交换机VLAN基础知识及基本划分方法,揭开VLAN的面纱...
- tornado 模板
- android 串口调试adb,Android系统 debug 技巧(最全最强adb 串口调试命令)
- Hack.Chat 在浏览器里快速建立简单、随用即丢线上聊天室,无须下载安装软体
- 刚刚开通blog写下几段文字,以表意义
- 分享19个高质量架构视频!吃透它,妥妥让你进大厂!
- postman循环操作及响应判断-支持文本多变量输入
- 【Longest Palindromic Substring】cpp
- 百度地图根据经纬度计算距离php,百度地图两者经纬度距离计算
- java 生成随机数 (Random函数)
- 苹果又开了一个“坏头”
- 【书评】多姿态诗意生活--读《十四堂人生创意课》有感
- 鹿先森博客原先森博客(sey.ink)
- lzx: ssh: connect to host lzx port 22: Connection timed out-------hadoop
热门文章
- 关于SAP:建表时如果有QUAN、CURR类型的字段不能激活的问题
- 「产品中心」AMC系列三相多功能表
- 用gnuplot画三维彩色点+标签
- cmd中如何退回到上一级文件夹目录
- PHP 使用 PhpSpreadsheet 操作 excel 表格
- linux和win玩复古游戏,在Linux上玩复古游戏的5种最佳方式 | MOS86
- 【AI】基于产生式规则的动物识别系统
- Google Earth Engine 学习7---ASTER GED 地表发射率数据下载
- eloqua邮件服务器,ORACLE ELOQUA 营销企业云服务.PDF
- cesium加载山东天地图