QT 操作SQLITE3

来源:互联网 发布:管理客户资料的软件 编辑:程序博客网 时间:2024/05/21 06:37


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

windows 下下载

sqlite-tools-win32-x86-3130000.zip
(1.51 MiB) A bundle of command-line tools for managing SQLite database files, including the command-line shell program, the sqldiff.exe program, and the sqlite3_analyzer.exe program.
(sha1: d74226e1cd38853f792266b221ae70c6c7b26835)

解压出来


1:选择下载对应自己系统的sqlite.3exe文件
 
2:解压后使用cmd命令进入sqlite3.exe文件所在的路径执行命令就可以操作做相应的操作。
在进入数据库之后如果需要退出的话windows下摁ctrl+c就能退出
例如:
创建数据库命令:sqlite3.exe 【数据库名字.后缀名】
 
  这里比较牛一点的感觉就是创建的数据库后缀名是任意的、不过注意一点就是:在命令框下执行创建数据库的时候。
 
如果没有为数据库创建表格、则看不见数据库文件,所以必须创建表格。
 
  例如:在CMD命令提示符下输入sqlite3.exe test.db(test.db是数据库名)回车,执行完后,命令提示符自动跳转
 
到"SQLITE>"状态。这时还是看不到这个数据库!等表格创建或关闭sqlite3
 
例如:create table user(’用户名‘); 这时可以看到sqlite3.exe所在文件夹下的这个数据库文件了
 
如果下次还要使用此数据库时仍然使用sqlite3.exe test.db即可进入此数据库 
 
创建表格命令:create table tablename(字段,字段)
 
这里从命令上可以清楚的看到、在sqlite数据库中创建表格字段的时候、允许不为字段申明数据类型
 
这是区别于其它关系型数据库的。
 
执行插入命令:insert into tablename values(value,values)在、前面我们可以看出、sqlite的操作上和
 
sqlserver没什么太大区别、值得注意的是、insert时区别于sqlserver中、因为sqlserver中允许使用
 
"insert table  name values(value,value)"这样的省略式擦入。但是sqlite中是不允许使用省略式插入语句的。
 
执行删除语句:delete  from tablename where <条件>
 
删除数据语法和sqlserver相同、
 
删除表则命令为:drop table tablename
 
数据更新命令:update tablename set 字段=值 如果需要条件的话、添加上where语句。
 
执行查询语句:select *from tablename 可跟随where语句
 
以上就是基础的sqlite的增删查改语法和命令。

上面是拷贝别人的:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    m_Sql = QSqlDatabase::addDatabase("QSQLITE");
    m_Sql.setDatabaseName("C:/sqlite/test.db");
    if(!m_Sql.open()) {
        qFatal("unable to open database");
    }
}
MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::on_pushButton_clicked()
{
    ui->tableWidget->setRowCount(0);
    QSqlQuery query;
    query.exec("SELECT *FROM tablename;");
    while (query.next())
    {
        ui->tableWidget->insertRow(0);
        ui->tableWidget->setItem(0, 0, new QTableWidgetItem(query.value(0).toString()));
        ui->tableWidget->setItem(0, 1, new QTableWidgetItem(query.value(1).toString()));
    }
}
void MainWindow::on_pushButton_2_clicked()
{
    QSqlQuery query;
    for(int i=0; i<1000000; i++)
    {
        query.exec("INSERT INTO tablename VALUES(4, 'zhao');");
        QApplication::processEvents();
    }
}
void MainWindow::on_pushButton_3_clicked()
{
    QSqlQuery query;
    query.exec("DELETE FROM tablename WHERE id=4;");
}









0 0
原创粉丝点击