精华内容
下载资源
问答
  • sudo apt-get install sqlite3 安装了...在QT Creator里输入#include <sqlite3.h>会有黄绿色的下划线!编译也不成功! 还有sql = "INSERT INTO \"SensorData\" VALUES();";这语句能不能把变量作为参数?
  • Qt下使用SQLite3

    热门讨论 2012-06-21 09:47:49
    编译环境:QT4.5+qt-creator2.4+arm-linux-gcc 4.3.3 程序是通过在QT槽函数中调用SQLite3的API来实现对数据库中的数据操作,这里我们默认嵌入式Linux中已经移植类SQLite3,程序中将调用SQLite3的库文件。
  • # tar zxvf sqlite-autoconf-3080403.gz 1.首先下载sqlite源码包,sqlite-autoconf-3080403.gz 下载地址:http://www.sqlite.org/download.html 2.解压

    一,安装编译,移植

    1.首先下载sqlite源码包,sqlite-autoconf-3080403.gz

    下载地址:http://www.sqlite.org/download.html

    2.解压

    # tar zxvf sqlite-autoconf-3080403.gz 

    # cd sqlite-autoconf-3080403

    3.新建两个文件夹用于编译不同版本

    # mkdir sqlite-x86 sqlite-arm

    4.先编译电脑版

    # cd sqlite-x86/
    # ../configure --prefix=/usr/local

    # make
    # make install
    # ldconfig

    由于库安装的路径可能不在系统的默认路径上,而引起出现”SQLite header and source version mismatch“这个错误,所以用ldconfig命令来解决。

    如果不成功可以采用以下方法

    解决方法:将安装目录/usr/local/lib里面的libsqlite3.so.0和libsqlite3.so.0.8.6复制到/usr/lib/i386-linux-gnu,替换原有文件。


    检验是否安装成功

    # sqlite3 -version

    出现版本号就是已经成功,如下

    # sqlite3 -version
    3.8.4.3 2014-04-03 16:53:12 a611fa96c4a848614efe899130359c9f6fb889c3
    

    5.编译ARM版

    # cd ../sqlite-arm/
    # ../configure CC=arm-linux-gcc-4.5.1 --host=arm-linux --prefix=/usr/local/arm/target

    # make
    # make install

    经过上步所得到的文件已经可以放到ARM板上使用的了,但为了节省ARM板的存储空间,我们先对该文件瘦身,去掉没用的调试信息

    # arm-linux-strip /usr/local/arm/target/lib/libsqlite3.so.0.8.6
    # arm-linux-strip /usr/local/arm/target/lib/libsqlite3.so
    
    # arm-linux-strip /usr/local/arm/target/bin/sqlite3 
    

    把bin/sqlite3拷贝到ARM板上的根目录/bin下,把/lib下的libsqlite3.so.0.8.6  libsqlite3.so libsqlite3.so.0 拷贝到ARM板根目录/lib目录下。

    测试方法也是一样

    # sqlite3 -version
    出现版本号就是已经成功了。


    二,使用

    PC和ARM方法一样

    1.创建数据库,student.db

    # sqlite3 student.db

    已经存在则打开,还没存在就会创建并打开

    打开后出现

    SQLite version 3.8.4.3 2014-04-03 16:53:12
    Enter ".help" for usage hints.

    使用.help查看帮助,.quit退出

    SQL的指令格式

    所有的SQL指令都是以分号(;)结尾的。如果遇到两个减号(--)则代表注解,sqlite3会略过去。

    2.建立表

    sqlite> create table student(id,name,gender,age);

    这里在数据库student.db里创建了一个表,名为student的表,包含元素,id,name,gender,age,sqlite可以储存任何东西:文字、数字、大量文字,不用标识输入类型,它会在自动转换。这是它与其他数据库的一个很大区别。

    语法为

    1. create table table_name(field1, field2, field3, ...); 

    table_name是资料表的名称,fieldx则是字段的名字。

    2.建立索引

    如果资料表有相当多的资料,我们便会建立索引来加快速度。

    这里例如以id为索引

    sqlite> create index stu_id on student(id);
    这里创建了一个stu_id的索引,它为表student中的id作为索引

    这个指令的语法为 create index index_name on table_name(field_to_be_indexed);

    一旦建立了索引,sqlite3会在针对该字段作查询时,自动使用该索引。这一切的操作都是在幕后自动发生的,无须使用者特别指令。

    3.插入数据

    sqlite> insert into student values(1,'li','man',23);
    sqlite> insert into student values(2,'lt','woman',22);

    如果是空,则填NULL

    4.查看数据

    sqlite> select * from student;
    1|li|man|23
    2|lt|woman|22

    *为查看条件,查看student全部内容

    ---------------------------------------------------------

    sqlite> select name from student;
    li
    lt

    查看所有的name

    --------------------------------------------------------

    select * from film limit 10; 

    只输出10个结果

    --------------------------------------------------------

    sqlite> select * from student where id=1;
    1|li|man|23

    查看id为1的所有结果

    -------------------------------------------------------

    sqlite> select * from student order by id;

    以id为条件从小到大

    -------------------------------------------------------

    sqlite> select * from student where id<3;

    列出所有id小于3所有内容

    ------------------------------------------------------

    sqlite> select count(*) from student;
    4


    统计有几个条目
    ------------------------------------------------------

    其他指令不详细写了,类似SQL指令

    三,QT调用

    在工程文件.pro中加入

    LIBS += -lsqlite3
    然后加入头文件

    #include <sqlite3.h>
    

    然后在.cpp文件中编写程序,

    新建一个数据库db

    sqlite3 *db;

    SQL指令

    QString cmd="select * from student;";
    sqlite储存数据是以二维数组形式

    定义用于装得到的数据有几行几列

    int h,l;
    定义用于装返回的数据

    char** result;

    打开一个数据库到db;

    sqlite3_open("student.db",&db);

    数据库调用函数

    sqlite3_get_table(db,cmd.toAscii(),&result,&h,&l,NULL);

    第一个参数为要操作的数据库,第二个为操作指令,第三装返回数据,第四个装得到数据的行,第五为列,第六为装错误信息

    --------------------------------------------------------------------------------------------------------

    然后释放内存

    sqlite3_free_table(result);
    操作完了就关闭

    sqlite3_close(db);



    电脑上编写的QT程序只要环境都搭建好了在ARM也是直接就可以使用






    展开全文
  • 最近Qt 做东西,要用到数据库。开始是用 SQLite,还好没什么问题,用着很顺利。...下面分别介绍一下 Windows 和 Linux Qt 使用 MySQL。  先记录一下 Windows Qt 5.5.1 msvc2010, MySQL 5
            最近在用 Qt 做东西,要用到数据库。开始是用 SQLite,还好没什么问题,用着很顺利。后来要改用 MySQL,就被折磨了几天。
            首先当然是先安装好 Qt,配置好MySQL,建库建表这些。下面分别介绍一下在 Windows 和 Linux 下 Qt 使用 MySQL。

            先记录一下在 Windows 下, Qt 5.5.1 msvc2010, MySQL 5.7.12。
            网上看到 Qt 以前版本要下载 src,再编译出dll。现在在 Qt 5.5.1 的 plugins\sqldrivers 里面已经有 qsqlmysql.dll qsqlmysqld.dll qsqlmysqld.pdb 这些,省不少事。
            这时如果直接用,还是不行的,在 QSqlDatabase::addDatabase("QMYSQL"); 这会报 QSqlDatabase: QMYSQL driver not loaded
            解决办法很简单:把 MySQL 安装目录下的 lib\libmysql.dll 复制到 Qt 安装目录下的 bin 目录中即可。

            再记录一下在 Linux 下, Qt 5.5.1, MySQL 5.6.24。
            在 Qt 5.5.1 的 plugins\sqldrivers 里面已经有 libqsqlmysql.so,这时直接用时,与 Windows 一样,在 QSqlDatabase::addDatabase("QMYSQL"); 这会报 QSqlDatabase: QMYSQL driver not loaded

            在 plugins\sqldrivers 目录 ldd libqsqlmysql.so,会看到 libmysqlclient_r.so.16 => not found 等。

            解决办法

            sudo apt-get install libqt4-sql-mysql,会安装 Qt4 的 MySQL 驱动,或者 sudo apt-get download libqt4-sql-mysql,解压找到so也行。
            sudo apt-get install libqt5sql5-mysql,会安装 Qt5 的 MySQL 驱动,或者 sudo apt-get download libqt5sql5-mysql,解压找到so也行。
            这种方法别人可能可行,我这用的提示版本不一致。只好用下面这个办法。
            官网下载源码编译
            不用完全下载,只要 http://download.qt.io/official_releases/qt/5.5/5.5.1/submodules/ 里面的 qtbase-opensource-src, 那个 60M 即可。
            提取出来在 qtbase.../src/plugins/sqldrivers/mysql 里面,qmake, make。qmake 如果找不到,要带上 Qt 安装目录 bin 路径。
            make 过程中,
            有人会出现
            /usr/bin/ld: cannot find -lz,是没有安装zlib-devel,直接yum install zlib-devel搞定。
            本菜鸟遇到
            /usr/bin/ld: cannot find -lssl
            /usr/bin/ld: cannot find -lcrypto
            先 locate libssl.so 或者 find 找到 libssl.so.1.0.0 所在目录,和 libcrypto.so.1.0.0 所在目录
            在找到目录下,ln -s libssl.so.1.0.0 libssl.so 和 ln -s libcrypto.so.1.0.1 libcrypto.so
            这是再 make 就没有问题了。
            成功后,找到生成的 libqsqlmysql.so,应该是在源码 qtbase.../plugins/sqldrivers 目录下。复制到 Qt 安装目录相应位置。
            这时再 ldd libqsqlmysql.so 查看就没有问题了。
    展开全文
  • 最近需要Ubuntu下使用Qt开发项目,选择简单小巧的SQLite数据库,现将安装配置以及简单操作记录如下,以便日后查阅。 安装Qt CMake和Qt Creator是Linux下开发C++程序的神器,Ubuntu 15.04已经集成了最新版的Qt ...

    最近需要在Ubuntu下使用Qt开发项目,选择简单小巧的SQLite数据库,现将安装配置以及简单操作记录如下,以便日后查阅。

    安装Qt

    CMake和Qt Creator是Linux下开发C++程序的神器,Ubuntu 15.04已经集成了最新版的Qt Creator (3.1.1)。

    sudo apt-get install cmake qtcreator  

    安装Sqlite

    1 . 安装SQLite3

    sudo apt-get install sqlite sqlite3  

    2 . 安装Sqlite3编译需要的工具包

    //如果,你需要的话可以安装该工具包。只是为了体验一把,可以不安装。该项是可选项。
    
    apt-get install libsqlite3-dev  

    3 . 检查安装是否成功

    //执行下面命令,会出现sqlite版本号,如3.6.22
    
    sqlite3 -version  

    4 . 安装图形界面

    //不喜欢命令行的话,安装该项有必要。该项是可选项。
    
    sudo apt-get install sqlitebrowser  

    5 . 安装其它语言的支持

    //PHP支持   
    sudo apt-get install php5-sqlite  
    //Ruby支持   
    sudo apt-get install libsqlite3-ruby  
    //Python支持   
    sudo apt-get install python-pysqlite2  

    6 . 建立数据库

    //可以在任意目录下(如/home/yangrui/database),执行下面命令
    
    sqlite3 test.db  

    注意:该命令执行之后,如果在当前目录没有test.db的话,就会创建该文件,如果已经存在的话直接使用该数据库文件。

    使用.database可以查看所创建的数据库

    7 . 创建表

    数据类型,可以参考官方文档。

    create table mytable(name varchar(10),age smallint);  
    //同理,使用.table可以看看自己创建的表mytable

    8 . 向表中插入数据

    insert into mytable values('mark',28);  
    insert into mytable values('hello',30);  

    9 . 查询数据

    select * from mytable;  

    10 . 删除表

    drop table mytable;  

    11 . 删除数据库

    很不幸运,SQLite无法同其他数据库那样删除数据库文件,即DROP DATABASE test;无效,但是我们可以直接像删除文件一样删除数据库文件,在/home/mark/database下面删除test.db文件即可。

    Qt下使用SQLite

    QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持。

    QSqlDatabase对象象征了数据库的关联。Qt使用驱动程序与各种数据库的应用编程接口进行通信。Qt的桌面版(Desktop Edition)包括如下一些驱动程序:
    驱动

    在Qt Creator中新建一个test项目:
    main.cpp添加一下代码:

    #include <QCoreApplication>
    #include <QtSql/QSqlDatabase>
    #include <QtSql/QSqlDriver>
    #include <QtSql/QSqlQuery>
    #include <QDebug>
    #include <string>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
    
        qDebug()<<"available drivers:";
        QStringList drivers = QSqlDatabase::drivers();
        foreach(QString driver, drivers)
        qDebug()<<driver;
    
        QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
        //db.setHostName("localhost");
        //db.setPort(3306);
    
        //事先创建的数据库EasyChat.db
        db.setDatabaseName("/home/yangrui/projects/EasyChat/database/EasyChat.db");
        db.setUserName("root");
        db.setPassword("123456");
        if(!db.open()){
            qDebug()<<"Unable to open database";
        }else{
            qDebug()<<"Database connection established";
        }
    
    
        QSqlQuery query;
        query.exec("select * from User");
        while(query.next())
        {
            QString userId = query.value("userId").toString();
            qDebug()<<userId;
        }
        return a.exec();
    }
    

    注意: .pro文件中代码如下:

    #-------------------------------------------------
    #
    # Project created by QtCreator 2015-11-18T11:30:07
    #
    #-------------------------------------------------
    
    QT       += core
    QT       += sql
    QT       -= gui
    
    
    TARGET = SqliteTest
    CONFIG   += console
    CONFIG   -= app_bundle
    
    TEMPLATE = app
    
    
    SOURCES += main.cpp
    

    执行结果:
    结果

    附:Sqlite基本操作语句链接

    展开全文
  • 一、sqlite-3.3.8编译安装请阅读安装包里的 INSTALL 文件。或者使用PEAR installer with "pear install sqlite"。SQLite已经内置了,你不需要安装任何附加的软件(additional software)。Win

    作者:zieckey(zieckey@yahoo.com.cn)


    下文介绍的内容都是基于 Linux RedHat 9.0 平台的。

    一、sqlite-3.3.8编译安装
    请阅读在安装包里的 INSTALL 文件。或者使用PEAR installer with "pear install sqlite"。SQLite已经内置了,你不需要安装任何附加的软件(additional software)。
    Windows users可以下载SQLite扩展DLL(php_sqlite.dl)。
    这里简单介绍一下:
    假设你得到的是源代码sqlite-3.3.8.tar.gz,这里将告诉你怎么编译它。
    解压sqlite-3.3.8.tar.gz 到 /home目录下
    For example:
    tar zxvf sqlite-3.3.8.tar.gz -C /home
    cd /home
    mkdir sqlite-3.3.8-ix86
    cd /home/sqlite-3.3.8-ix86/
    ../sqlite-3.3.8/configure --prefix=/home/sqlite-3.3.8-ix86
    编译并安装,然后生成帮助文档
    make && make install && make doc

    如果出现下列错误
    ../sqlite-3.3.8/src/tclsqlite.c: In function `DbUpdateHandler':
    ../sqlite-3.3.8/src/tclsqlite.c:333: warning: passing arg 3 of `Tcl_ListObjAppendElement' makes pointer from integer without a cast
    ../sqlite-3.3.8/src/tclsqlite.c: In function `tclSqlFunc':
    ../sqlite-3.3.8/src/tclsqlite.c:419: warning: passing arg 1 of `Tcl_NewByteArrayObj' discards qualifiers from pointer target type
    这个都是tcl相关的错误,可以先安装ActiveTcl以解决.假如你不需要tcl支持,那么这个错误可以这样避免:
    cd /home/sqlite-3.3.8-ix86/
    ../sqlite-3.3.8/configure --disable-tcl --prefix=/home/sqlite-3.3.8-ix86
    编译并安装,然后生成帮助文档
    make && make install && make doc
    不出意外,将不会出现错误,那么
    Libraries have been installed in:
    /home/sqlite-3.3.8-ix86//lib

    库文件已经生成在 /home/sqlite-3.3.8-ix86/lib 目录下
    可执行文件sqlite3已经生成在 /home/sqlite-3.3.8-ix86/bin 目录下
    下面创建一个新的数据库文件名叫"zieckey.db" (当然你可以使用不同的名字) 来测试数据库.
    直接输入: /home/sqlite-3.3.8-ix86/bin/sqlite3 test.db
    如果出现下面字样表明编译安装已经成功了.
    SQLite version 3.3.8
    Enter ".help" for instructions
    sqlite>

    二、使用QT3连接SQLite

    [root@localhost zieckey]# mkdir test-qt3-sqlite3
    [root@localhost zieckey]# cd test-qt3-sqlite3/
    打开Designer
    [root@localhost test-qt3-sqlite3]# designer&
    [4] 8357
    新建一个C++ Project
    新建一个Dialog
    在该ialog上放置一个 PushButton 和一个 LineEdit
    并设置相应的属性
    保存到 test-qt3-sqlite3 目录下
    新建一个 C++ Main-file (main.cpp )
    再保存

    然后生成 *.h,*.cpp文件
    [root@localhost test-qt3-sqlite3]# uic -o mainform.h mainform.ui
    [root@localhost test-qt3-sqlite3]# uic -i mainform.h -o mainform.cpp mainform.ui

    修改 *.pro文件,如下:
    SOURCES += main.cpp mainform.cpp
    HEADERS += mainform.h

    unix {
    UI_DIR = .ui
    MOC_DIR = .moc
    OBJECTS_DIR = .obj
    }

    TEMPLATE =app
    CONFIG += qt warn_on release
    LANGUAGE = C++


    SQLITE_PATH=/home/sqlite-3.3.8-ix86

    DEPENDPATH += $$SQLITE_PATH/include
    INCLUDEPATH += $$SQLITE_PATH/include
    LIBS += -L$$SQLITE_PATH/lib
    LIBS += -lsqlite3

    TARGET = test-sqlite.out









    编辑 mainform.h
    /****************************************************************************
    ** Form interface generated from reading ui file 'mainform.ui'
    **
    ** Created: 日 11月 5 16:24:45 2006
    ** by: The User Interface Compiler ($Id: qt/main.cpp 3.1.1 edited Nov 21 17:40 $)
    **
    ** WARNING! All changes made in this file will be lost!
    ****************************************************************************/

    #ifndef MAINFORM_H
    #define MAINFORM_H

    #include <qvariant.h>
    #include <qdialog.h>

    #include "sqlite3.h" //注意,这里一定要添加进来


    class QVBoxLayout;
    class QHBoxLayout;
    class QGridLayout;
    class QLineEdit;
    class QPushButton;

    class MainForm : public QDialog
    {
    Q_OBJECT

    public:
    MainForm( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
    ~MainForm();

    QLineEdit* showMsgLineEdit;
    QPushButton* openButton;

    public slots:
    virtual void openDBSlot(); //注意,这里是新建的一个SLOT

    protected:

    protected slots:
    virtual void languageChange();
    };

    #endif // MAINFORM_H









    编辑 mainform.cpp
    /****************************************************************************
    ** Form implementation generated from reading ui file 'mainform.ui'
    **
    ** Created: 日 11月 5 16:25:05 2006
    ** by: The User Interface Compiler ($Id: qt/main.cpp 3.1.1 edited Nov 21 17:40 $)
    **
    ** WARNING! All changes made in this file will be lost!
    ****************************************************************************/

    #include "mainform.h"

    #include <qvariant.h>
    #include <qlineedit.h>
    #include <qpushbutton.h>
    #include <qlayout.h>
    #include <qtooltip.h>
    #include <qwhatsthis.h>
    #include <qimage.h>
    #include <qpixmap.h>

    /*
    * Constructs a MainForm as a child of 'parent', with the
    * name 'name' and widget flags set to 'f'.
    *
    * The dialog will by default be modeless, unless you set 'modal' to
    * TRUE to construct a modal dialog.
    */
    MainForm::MainForm( QWidget* parent, const char* name, bool modal, WFlags fl )
    : QDialog( parent, name, modal, fl )

    {
    if ( !name )
    setName( "MainForm" );

    showMsgLineEdit = new QLineEdit( this, "showMsgLineEdit" );
    showMsgLineEdit->setGeometry( QRect( 150, 230, 350, 21 ) );

    openButton = new QPushButton( this, "openButton" );
    openButton->setGeometry( QRect( 150, 70, 91, 30 ) );
    languageChange();
    resize( QSize(600, 480).expandedTo(minimumSizeHint()) );

    // signals and slots connections
    connect( openButton, SIGNAL( clicked() ), this, SLOT( openDBSlot() ) );
    }

    /*
    * Destroys the object and frees any allocated resources
    */
    MainForm::~MainForm()
    {
    // no need to delete child widgets, Qt does it all for us
    }

    /*
    * Sets the strings of the subwidgets using the current
    * language.
    */
    void MainForm::languageChange()
    {
    setCaption( tr( "A test Showing how to connect SQLite3 in QT3" ) );
    openButton->setText( tr( "Open DB" ) );
    }

    void MainForm::openDBSlot()
    {
    //qWarning( "MainForm::openDBSlot(): Not implemented yet" );
    sqlite3 *db=NULL;
    int rc;
    rc = sqlite3_open("zieckey.db", &db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件
    if( rc )
    {
    QString errMsgQString;
    errMsgQString.sprintf("Can't open database: %s/n", sqlite3_errmsg(db) );
    showMsgLineEdit->setText(errMsgQString);
    sqlite3_close(db);
    }
    else
    showMsgLineEdit->setText( "open zieckey.db successfully!/n" );

    sqlite3_close(db); //关闭数据库
    }






    main.cpp如下,它不用做任何更改,如果我们是按照上面说的那样生成main.cpp的话
    #include <qapplication.h>
    #include "mainform.h"

    int main( int argc, char ** argv )
    {
    QApplication a( argc, argv );
    MainForm w;
    w.show();
    a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );
    return a.exec();
    }





    这一切做好了后,我们就可以开始编译了
    [root@localhost test-qt3-sqlite3]# qmake
    [root@localhost test-qt3-sqlite3]# make
    中间也许会有很多警告信息,这个不是太大问题,如果没有错误,那么我们可以运行了:
    [root@localhost test-qt3-sqlite3]# ./test-sqlite.out
    也许会出现下面这样的错误:
    [root@localhost test-qt3-sqlite3]# ./test-sqlite.out
    ./test-sqlite.out: error while loading shared libraries: libsqlite3.so.0: cannot open shared object
    file: No such file or directory
    这个好办:
    [root@localhost qt3-sqlite3]# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/sqlite-3.3.8-ix86/lib
    [root@localhost qt3-sqlite3]# ./test-sqlite.out

    这样就好了。
    看到运行的效果了没?
    点击一下界面上的按钮,看看有什么反应?
    应该是这样的:
    那个标签条上显示: open zieckey.db successfully!


    说明:实际应用的时候,在qt3下根本就不需要显示的调用 uic 生成 .h .cpp 文件,
    这里是方便行文才这样做的。

    总结:这里我们知道了sqlite3.3.8的Linux环境下编译、QT Designer 的基本用法、QT编程的基本实现;
    最重要的是我们知道了怎么在qt下连接sqlite。本文纯粹是交流之作,仅作抛砖引玉之用。
    还希望更多的高手们出来说说话阿。
    欢迎交流。 
    展开全文
  • Linux平台QT数据库编程在linux平台使用qt来编写GUI程序,在进行数据库编程的时候,有两种选择方式,分别是:基于linux平台的数据库接口函数编程,另一种是使用qt自带的有关数据库类。那在这里我分别来讲一下这两种...
  • 基于QT项目windows发布--with SQLite3

    千次阅读 2013-02-02 21:25:35
    QT在Linux下的界面处理人所共知,现在有个需求是一定要在windows下做界面,时间比较紧。目前已经在Linux下的界面如何port至windows呢? 这里用到QT的跨平台。这种时候使用qt+mingw来进行发布。 QT4.8.4库包含了...
  • 针对Linux应用,特意借阅一本:《linux环境下Qt4图形界面与MySQL编程》,本篇文章主要是对要点进行汇总一下。SQLite与MySQL区别:SQLite:一个应用使用SQLite时,它的功能直接被集成其中,应用会直接访问包含数据的...
  • 以前在Linux下使用sqlite 都是用到sqlite3.exe这函数的,当然这需要在Linux下安装sqlite3程序的安装包,这个就不再累述了(我也忘得差不多了。。。)  然而在Windows下,安装sqlite3貌似挺麻烦的,而且对Windows的...
  • 在linux平台使用qt来编写GUI程序,在进行数据库编程的时候,有两种选择方式,分别是:基于linux平台的数据库接口函数编程,另一种是使用qt自带的有关数据库类。那在这里我分别来讲一下这两种方式的实现。 一、...
  • 使用Qt库:Qt4.8.6 交叉编译工具链:arm-linux-gcc(4.3.6) 这个问题纠结了好久。刚开始我使用的是Qt的动态库,没有出现这个问题。现在使用的是Qt的静态库出现了这个问题:QSqlDatabase: QSQLITE driver not ...
  • Linux平台基于Qt的电子地图的绘制,欧阳昆,韩应征,本文介绍在Linux环境使用图形界面开发工具Qt作为开发平台,实现电子地图浏览。利用开源工具MITAB提取地图数据,SQLite数据库存储地
  • 针对Linux应用,特意借阅一本:《linux环境下Qt4图形界面与MySQL编程》,本篇文章主要是对要点进行汇总一下。  SQLite与MySQL区别: SQLite:  一个应用使用SQLite时,它的功能直接被集成其中,应用会直接访问...
  • 【工作环境:基于友善之臂mini2440开发板+Qtopia2.2版本+RedHat9+SQLite-3.3.6】 1.Qtopia中使用SQLite ...)所以在Qt/Qtopia程序中需要数据库时,可以考虑在Qt中使用Linux下操作SQLite数据库的方法。(表达的
  • 文中的运行环境为: Vapor4,Swift5.2,Catalina 10.5.4,Ubuntu18.04原文发表我的博客Swift记事簿最近新开通了一个云服务器(Linux系统),使用Hexo创建了新的博客网页。考虑增加点简单的交互功能,所以...
  • QT5.14 实现简单用户登录系统

    千次阅读 2020-04-29 20:40:42
    linux下简单的sqlite3 数据库进行数据互传,实现登录系统 实现原理为: 1.linux服务器: 若使用云服务器请见此说明:使用云服务器的区别在于连接的ip不同而已,本代码已验证阿里云Ubuntu16.04 ECS服务器下验证...
  • sqlitebrowser(DB Browser for SQLite) 是一款免费开源的跨平台的SQLite数据库查看工具,Window下可以直接下载安装包,Linux下使用命令:sudo apt-get install sqlitebrowser即可安装。 sqlitebrowser是开源的,...
  • Qt MySQL数据库编程

    2010-07-02 03:27:11
    今天在Linux下测试了Mysql数据库与Qt结合的应用练习,Qt经常要与数据库打交道,如Oracle(甲骨文公司数据库巨人)、SQL(中大型数据库)、mySQL(小型关系型数据库管理系统)、Access(小到办公软件的office数据库access)...
  • 基于QT4.8.6的软键盘

    2019-02-25 10:24:34
    这几天接到任务要写一个软键盘,用于在Linux上运行的软件(windows也可以) 效果: 1、能够实现中英文、数字、字符的切换 2、并且实现单字中文、英文、数字、符号的输入 3、使用sqlite数据库 4、完全模仿手机QQ...
  • QWidget+QPainter绘制,支持Qt4.6到Qt5.13的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式linux等,不乱码,可直接集成到Qt Creator中,和自带的控件一样使用,大部分...
  • Colony:无序的”bag“型容器,高度修改的情况,其性能优于标准容器。同时,无论插入还是擦除,其都能始终保持指向未擦除元素的永久指针。 dynamic_bitset:C++17 的动态位集合,只有头文件。 Forest:实现了...
  • buildout:隔离环境初始化后使用声明性配置管理。 包管理 管理包和依赖的工具。 pip:Python 包和依赖关系管理工具。 pip-tools:保证 Python 包依赖关系更新的一组工具。 PyPI:Python 正式的第三方包软件...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

在linux下qt使用sqlite

linux 订阅