QT读写Sqlite数据库
FurtherChan
QT读写Sqlite数据库
//.h
/****************************************************************************
**
** Date : 2010-05-08
** Author : furtherchan
** If you have any questions , please contact me
**
****************************************************************************/
#ifndef SQLITEDB_H
#define SQLITEDB_H
#include <QObject>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlQueryModel>
#include <QMessageBox>
#include <QString>
#include <QStringList>
class SqliteDB : public QObject
{
public:
SqliteDB();
QStringList strListUser;
QStringList strListId;
QStringList strListName;
void connectDB();
void closeDB();
void getUserInfo( QString id );
void updateUserLogStat( QString id, QString stat );
int insertNewUser( QString id, QString password, QString name, QString ip, QString port);
void getUserAllOnline();
void updateUserIp(QString id, QString ip);
private:
QSqlDatabase db;
};
#endif // SQLITEDB_H
//.cpp
/****************************************************************************
**
** Date : 2010-05-08
** Author : furtherchan
** If you have any questions , please contact me
**
****************************************************************************/
#include "sqlitedb.h"
SqliteDB::SqliteDB()
{
}
void SqliteDB::connectDB()
{
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("chat.db");
if ( !db.open())
{
QMessageBox::critical(NULL, "Connect to db...", "Connect failed.");
}
}
void SqliteDB::closeDB()
{
db.close();
}
相关文档:
先记下来:
FileOutputStream outputStream = openFileOutput("mydb", 0);
InputStream inputStream = response.getEntity().getContent();
byte[] data = new byte[bufferSize];
for (int i = inputStream.read(data); i > 0; i = inputStream
.read(data)) {
& ......
事务(DbTransaction):
SQLite 缺省为每个操作启动一个事务,所以成批插入的时候,启动事务,比不启动事务快n倍。
在没启动事务之前往Sqlite数据库里插入1000多条数据的情况,结果每次都需要一两分钟才能完成.
而在启动事物以后所需要的时间直接变成不到2秒!原来sqlite花两分钟是由于ExecuteNonQuery方法执行时自己提交 ......
package
{
import flash.data.SQLConnection;
import flash.data.SQLResult;
import flash.data.SQLStatement;
import flash.errors.SQLError;
import flash.events.SQLErrorEvent;
import flash.events.SQLEvent;
import flash.filesystem.File;
import mx.collections.Ar ......
我现在要使用SQLite3.0创建一个数据库,然后在数据库中创建一个表格。
首先要引入SQLite3.0的lib库。然后包含头文件#import <sqlite3.h>
【1】打开数据库,如果没有,那么创建一个
sqlite3* database_;
-(BOOL) open{
NSArray *paths = NSSearchPathForDirectoriesInDomai ......