導航:首頁 > 編程大全 > linux下qt的sqlite資料庫教程

linux下qt的sqlite資料庫教程

發布時間:2021-11-25 18:05:55

Ⅰ 到底要怎麼在linux下的qt里使用sqlite

使用sqlite的車c/c++ api,去官方網站下載

Ⅱ 請問在Linux系統中QT連接sqlite資料庫怎麼連接呢查了很多資料,我是初學者,請問高手能詳細點指點嗎

Ruby 1.8.2
Rails 1.0.0
SQLite 3.3.3
下載 sqlite-3_3_3.zip sqlitedll-3_3_3.zip
解壓它們,得到文件sqlite3.exe和sqlite3.dll;
復制它們到目錄[RUBY_HOME]/bin下面;
SQLite-Ruby 1.1.0
如下命令安裝該模塊是針對SQLite 3.x版本
gem install sqlite3-ruby -r -y
SQLite 3.x的可視化工具:SQLite Database Browser
解壓它,我們得到軟體SQLite Database Browser 1.2.1.exe

Ⅲ vs下的qt怎麼操作sqlite資料庫

採用將項目中的sqlite文件拷到android內存卡上的固定位置,先判斷位置上是否存在sqlite文件,不存在則復制文件。 sqlite可放在res的raw目錄下,亦可放在assets下,放在assets下,可新建其他層次目錄,本例選擇assets 1.首先,添加sdcard許可權在An..

Ⅳ 如何用qt使用sqlite資料庫,寫入變數

採用將項目中的sqlite文件拷到android內存卡上的固定位置,

Ⅳ 到底要怎麼在linux下的qt里使用sqlite

你裝的只是運行包,需要安裝開發包

Ⅵ 在Linux環境里怎麼打開一個sqlite的資料庫

下載一個Linux 的sqlite3工具(或到SqLite網站下載sqlite的源代碼,在你的系統中編譯出sqlite3工具),用這個工具打開:
sqlite3 /tmp/test.db

Ⅶ 怎樣在Qt下連接讀寫sqlite資料庫

採用將項目中的sqlite文件拷到android內存卡上的固定位置,先判斷位置上是否存在sqlite文件,不存在則復制文件。 sqlite可放在res的raw目錄下,亦可放在assets下,放在assets下,可新建其他層次目錄,本例選擇assets
1.首先,添加sdcard許可權在AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在activity中有如下代碼

2.Java代碼

button2.setOnClickListener(new Button.OnClickListener() {

@Override
publicvoid onClick(View arg0) {
try{
String DATABASE_PATH = android.os.Environment.getExternalStorageDirectory().getAbsolutePath()
+ "/testdb"; //將要存放於的文件夾
String DATABASE_FILENAME = "testDatabase.db"; //文件名
String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
File dir = new File(DATABASE_PATH);
// 如果/sdcard/testdb目錄中存在,創建這個目錄
if (!dir.exists())
dir.mkdir();
// 如果在/sdcard/testdb目錄中不存在
// test.db文件,則從asset\db目錄中復制這個文件到
// SD卡的目錄(/sdcard/testdb)
if (!(new File(databaseFilename)).exists()) {
// 獲得封裝testDatabase.db文件的InputStream對象
AssetManager asset=getAssets();
InputStream is=asset.open("db/testDatabase.db");
FileOutputStream fos = new FileOutputStream(databaseFilename);
byte[] buffer = newbyte[8192];
int count = 0;
// 開始復制testDatabase.db文件
while ((count = is.read(buffer)) > 0) {
fos.write(buffer, 0, count);
}
fos.close();
is.close();
asset.close();
}
SQLiteDatabase mSQLiteDatabase=openOrCreateDatabase(databaseFilename, Activity.MODE_PRIVATE, null);//有則打開,沒有創建
Cursor cur=mSQLiteDatabase.rawQuery("select * from table1", null);
if(cur!=null){
if(cur.moveToFirst()){
do{
int idColumnIndex=cur.getColumnIndex("id");
int numColumnIndex=cur.getColumnIndex("num");
int dataColumnIndex=cur.getColumnIndex("data");
int id=cur.getInt(idColumnIndex);
int num=cur.getInt(numColumnIndex);
String data=cur.getString(dataColumnIndex);
System.out.println("id:"+id+";num:"+num+";data:"+data);
}while(cur.moveToNext());
cur.close();
}
}
mSQLiteDatabase.close();//關閉資料庫連接
}catch(Exception e){
e.printStackTrace();
}
//deleteDatabase("testDatabase.db");//刪除資料庫
}
});

Ⅷ linux下qt環境,sqlite資料庫,如何選擇數據

1、資料庫直接用QSqlQueryModel 進行讀取,顯示在一個控制項上(eg.tableview->setModel())
2、定義槽函數,實現點擊表中元素;槽函數中獲取當前的行數,也就獲得了當前的數據。
3、把QString添加到lineEdit
大體上就是這樣,具體的可以網上搜一下

Ⅸ 請教高手如何使用QT建立SQLite資料庫

#include <QtGui>
#include <QtSql>

#include "scooterwindow.h"

ScooterWindow::ScooterWindow()
{
model = new QSqlTableModel(this);
model->setTable("scooter");
model->setSort(Scooter_Name, Qt::AscendingOrder);
model->setHeaderData(Scooter_Name, Qt::Horizontal, tr("Name"));
model->setHeaderData(Scooter_MaxSpeed, Qt::Horizontal, tr("MPH"));
model->setHeaderData(Scooter_MaxRange, Qt::Horizontal, tr("Miles"));
model->setHeaderData(Scooter_Weight, Qt::Horizontal, tr("Lbs"));
model->setHeaderData(Scooter_Description, Qt::Horizontal,
tr("Description"));
model->select();

view = new QTableView;
view->setModel(model);
view->setSelectionMode(QAbstractItemView::SingleSelection);
view->setSelectionBehavior(QAbstractItemView::SelectRows);
view->setColumnHidden(Scooter_Id, true);
view->resizeColumnsToContents();
view->setEditTriggers(QAbstractItemView::NoEditTriggers);

QHeaderView *header = view->horizontalHeader();
header->setStretchLastSection(true);

QHBoxLayout *mainLayout = new QHBoxLayout;
mainLayout->addWidget(view);
setLayout(mainLayout);

setWindowTitle(tr("Scooters"));
}

#ifndef SCOOTERWINDOW_H
#define SCOOTERWINDOW_H

#include <QWidget>

class QSqlTableModel;
class QTableView;

enum {
Scooter_Id = 0,
Scooter_Name = 1,
Scooter_MaxSpeed = 2,
Scooter_MaxRange = 3,
Scooter_Weight = 4,
Scooter_Description = 5
};

class ScooterWindow : public QWidget
{
Q_OBJECT

public:
ScooterWindow();

private:
QSqlTableModel *model;
QTableView *view;
};

#endif

#include <QtGui>
#include <QtSql>

#include "scooterwindow.h"

bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("scooters.dat");
if (!db.open()) {
QMessageBox::warning(0, QObject::tr("Database Error"),
db.lastError().text());
return false;
}
return true;
}

void createFakeData()
{
QSqlQuery query;
query.exec("DROP TABLE scooter");

query.exec("CREATE TABLE scooter ("
"id INTEGER PRIMARY KEY AUTOINCREMENT, "
"name VARCHAR(40) NOT NULL, "
"maxspeed INTEGER NOT NULL, "
"maxrange INTEGER NOT NULL, "
"weight INTEGER NOT NULL, "
"description VARCHAR(80) NOT NULL)");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('Mod-Rad 1500', 40, 35, 298, "
"'Speedometer, odometer, battery meter, turn signal "
"indicator, locking steering column')");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('Rad2Go Great White E36', 22, 12, 93, "
"'10\" airless tires')");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('X-Treme X360', 21, 14, 59, "
"'Cargo rack, foldable')");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('Vego SX 600', 20, , 76, "
"'Two interchangeable batteries, foldable')");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('Sunbird E Bike', 18, 30, 118, '')");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('Leopard Shark', 16, 12, 63, "
"'Battery indicator, removable seat, foldable')");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('Vego iQ 450', 15, 0, 60, "
"'OUT OF STOCK')");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('X-Treme X-11', 15, 11, 38, "
"'High powered brakes, foldable')");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('ZZ Cruiser', 14, 10, 46, "
"'Two batteries, removable seat')");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('X-Treme X-010', 10, 10, 14, "
"'Solid tires')");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('Q Electric Chariot', 10, 15, 60, "
"'Foldable')");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('X-Treme X250', 15, 12, 0, "
"'Solid aluminum deck')");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('Go MotorBoard 2000X', 15, 0, 20, "
"'Foldable and carryable')");
query.exec("INSERT INTO scooter (name, maxspeed, "
"maxrange, weight, description) "
"VALUES ('Goped ESR750 Sport Electric Scooter', "
"20, 6, 45, " "'Foldable and carryable')");
}

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

bool create = !QFile::exists("scooters.dat");
if (!createConnection())
return 1;
if (create)
createFakeData();

ScooterWindow window;
window.resize(600, 500);
window.show();

return app.exec();
}

閱讀全文

與linux下qt的sqlite資料庫教程相關的資料

熱點內容
pdf打不開顯示找不到文件 瀏覽:491
加工廠怎麼找訂單用什麼APP 瀏覽:39
怎麼讓壓縮文件直接掃碼下載 瀏覽:581
電腦共享文件突然找不到網路途徑了怎麼辦 瀏覽:11
微信別人顯示網路嗎 瀏覽:34
為什麼刪除文件一直顯示不在桌面 瀏覽:159
json數據格式寫法 瀏覽:651
編程語言前景怎麼樣 瀏覽:373
tgp修復工具 瀏覽:952
qlv文件放在桌面找不到 瀏覽:199
卓易彩票app 瀏覽:743
js獲取游標 瀏覽:701
發送的文件怎麼找不到 瀏覽:324
cad文件欄和工具欄都不見了 瀏覽:102
看圖識建築app 瀏覽:398
word2020文件類型默認擴展名 瀏覽:194
時代少年團的圖片在哪個app 瀏覽:350
康平網站建設值多少錢 瀏覽:642
怎樣把word分頁 瀏覽:135
javareplaceall替換不了 瀏覽:985

友情鏈接