Qt MySQL-创建新表
Qt MySQL - Creating New Table
我是QT编程的新手,所以我正在尝试简单的MySQL操作(连接、构建数据库、构建表…)
到目前为止,我一直使用c#,所以在这里我使用了类似的构造(即,我使用pushButton运行代码并在editText arrea中打印出消息)
我的"连接"代码工作得很好,"构建数据库"代码也是如此,但我在创建表格时遇到了问题。
- 我的工作环境:
- 获胜7
- QT创建者3.4.1
- 基于问题5.4.2
- MySQL@XAMPP v1.8.3
我的代码:
void MainWindow::on_pushButton_2_clicked()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("myTestDB");
db.setUserName("root");
db.setPassword("");
if(db.open()) { ui->textBox->append("Connected..."); db.close(); }
else ui->textBox->append(db.lastError().text());
QSqlQuery query;
query.prepare( "CREATE TABLE IF NOT EXISTS myTable (id INTEGER UNIQUE PRIMARY KEY, firstname VARCHAR(30), lastname VARCHAR(30))" );
if(query.exec())
{
ui->textBox->append("Table created");
}
else
{
ui->textBox->append("Error");
ui->textBox->append("MySQL error:" + query.lastError().text());
ui->textBox->append("MySQL error code:"+ QString::number(query.lastError().number()));
}
}
当我运行代码时,我会得到以下响应:
已连接
错误
MySQL错误:
MySQL错误代码:-1
因此MySQL错误为空,MySQL错误代码为-1
我还直接运行SQL代码来检查查询错误
感谢您的帮助和建议。
连接到数据库后直接关闭数据库。
并且您需要将db
移交给查询。
更改
if(db.open()) { ui->textBox->append("Connected..."); db.close(); }
QSqlQuery query;
至
if(db.open()) { ui->textBox->append("Connected..."); }
QSqlQuery query(db);
然后在查询之后关闭DB。
这是您的第一个问题:欢迎使用StackOverflow;)
相关文章:
- 使用新运算符C++创建多维数组的简单方法
- 在 C++ 中为特定哈希表创建插入函数
- 程序在为链表创建推送函数时崩溃
- 自定义链表创建 RtlValidateHeap 错误,其结构具有链表
- C 矢量元素擦除与新向量创建
- 为数据缺少默认构造函数的链表创建节点
- 如何使用安置新操作员创建对象数组
- 我如何在参考上使用数据成员而不使用新关键字创建对象
- 通过使用新操作员创建对象会导致未解决的外部符号错误C FTGL
- 使用新关键字创建的C 对象不会呈现;在堆栈上创建的对象确实可以
- 如何使用Cocos2D-X中的精灵表创建菜单
- 如何为链表C++创建"弹出尾巴"函数
- 如何为双链表创建交换函数
- 在链表创建循环中插入
- 如何在不打开新表单的情况下更改 QWindow 或 QWidget
- 哈希表创建
- Qt Creator 2.8.1 Qt 5.1.1 Qt Designer Linux 显示新表单
- 正在为链表c++创建DataType
- 部分模板绑定,将新模板创建为类型
- Qt MySQL-创建新表