易截截图软件、单文件、免安装、纯绿色、仅160KB

Qt数据库(三)利用QSqlQuery类执行SQL语句(一)


本文章原创于www.yafeilinux.com 转载请注明出处。
SQL即结构化查询语言,是关系数据库的标准语言。前面已经提到,在Qt中利用QSqlQuery类实现了执行SQL语句。需要说明,我们这里只是Qt教程,而非专业的数据库教程,所以我们不会对数据库中的一些知识进行深入讲解,下面只是对最常用的几个知识点进行讲解。
我们下面先建立一个工程,然后讲解四个知识点,分别是:
一,操作SQL语句返回的结果集。
二,在SQL语句中使用变量。
三,批处理操作。
四,事务操作。
我们新建Qt4 Gui Application工程,我这里工程名为query ,然后选中QtSql模块,Base class选QWidget。工程建好后,添加C++ Header File ,命名为connection.h ,更改其内容如下:
#ifndef CONNECTION_H
#define CONNECTION_H
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlQuery>
static bool createConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase(“QSQLITE”);
    db.setDatabaseName(“:memory:”);
    if (!db.open()) {
        QMessageBox::critical(0, qApp->tr(“Cannot open database”),
            qApp->tr(“Unable to establish a database connection.”
                     ), QMessageBox::Cancel);
        return false;
    }
    QSqlQuery query;
    query.exec(“create table student (id int primary key, ”
               “name varchar(20))”);
    query.exec(“insert into student values(0, ‘first’)”);
    query.exec(“insert into student values(1, ’second’)”);
    query.exec(“insert into student values(2, ‘third’)”);
  &


相关文档:

总结SQLite不支持的SQL语法有哪些


1 TOP
这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录:
SELECT TOP 10 * from [index] ORDER BY indexid DESC;
 
但是这条SQL语句在SQLite中是无法执行的,应该改为:
SELECT * from [index] ORDER BY indexid DESC limit 0,10;
 
其中limit 0,10表示从第0 ......

用SQL存储过程实现批量插入数据

修改内容:删除原来的TIME维度,新建TIME维度,修改SALES立方。
数据插入:
            1,事实数据插入:通过DTS加调度实现将sales_fact_1997的数据进行复制。频率为每分钟10000条。            &nb ......

SQL SERVER 2008的一点工作总结

最近一直在用SQL SERVER, 发现平时积攒的一些问题如果不及时的记录下来,很快就忘了. 过段时间再发现相同问题时,还要做重复工作.
多做些笔记吧, 提高一下工作效率.
1, 读取DBF文件,存入到SQL SERVER时,出现问题两个。
第一个错误信息:“发生错误:ERROR [IM001][Microsoft][ODBC驱动程序管理器]驱动程序不支持此 ......

SQL Server 压缩日志空间

使用了一段时间后,SQL Server 的 LDF文件体积巨大.
如何处理嘞, 对于 SQL Server 2005 及之前的版本,可以使用如下 SQL:
declare @name varchar(50)
set @name='dbname
'
backup
log @name
with truncate_only
dbcc shrinkdatabase (@name,20)
可是在 SQL Server 2008 开始,执行上面的语句会报错:
'truncate ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号