1,在.pro文件中修改 QT += sql ,大致如下
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
QT +=sql
2,在程序中添加資料庫
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
qDebug()<<QString("add database");
//db.setHostName("192.168.1.126");//遠程訪問
db.setHostName("localhost");
db.setDatabaseName("test");
//db.setDataBaseName("");
db.setUserName("root");
db.setPassword("000000");
if (!db.open())
return db.lastError();
B. QT中使用sql語句查詢時,表名通過一個參數來傳遞的話,這個sql語句怎麼寫
select * from lineedit into var
lineedit為表名,var為參數,
C. Qt如何實現對SQLite的寫入與更新操作的,急!
點擊一下查看按鈕,會添加一條信息,在pc機上很容易實現了,但在Arm開飯板上,資料庫能打開但執行插入的操作的時候總是報錯,我把我能想到的可能都想到了,1,修改了一下資料庫的許可權,2,export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Trolltech/QtEmbedded-4.7.0-arm/plugins/sqldrivers
,sqlite庫的路徑也加上了,但運行結果是一樣的,錯誤提示不是打開資料庫失敗,就是動態庫超出鏈接隊列什麼的(英語不太好),總之不行。後來我決定採取比較二的選擇,在arm板linux系統上跑sqlite插件,後來還是以失敗告終(但得到了好多啟發,下片博文講),無奈我想到的辦法是整一個好的sqliteDemo
在板子上跑一下,執行sql語句的時候還是不行,報錯信息是打開資料庫失敗,無奈做了下一步決定,重燒了一下文件系統,和內核,結果還是不行,在崩潰的邊緣,向老大求教,搗鼓了一陣,結果把生成的可執行文件放到了根目錄下成功了!可以對資料庫進行各種操作,我把我自己寫的Qt
sqlite的小demo也放到了根目錄下結果也成功運行了,很奇怪呀!網上還有人說友善的arm板子對資料庫的支持不好。
D. 如何用for循環在qt中實現sql資料庫的多行插入
debug時把sql語句復制出來,在資料庫鏈接工具中(如plsql,navicat等)執行一次,可能是你的value中設置了非空欄位,也有可能是你的資料庫策略不允許插入空.
E. sql語句如何修改欄位長度
代碼示例:
alter table T1 alter column F1 varchar(10)
一般地,改欄位名可以用這條語句:
復制代碼代碼示例:
alter table A rename column a to c
實際應用中,往往是用J-SQL進行編譯,而J-SQL不支持修改欄位名。
因此,如果一定要修改欄位名,那麼只有通過變通的方法了。思路:
1.新建一個欄位,取名為c;
2.將欄位a的內容拷貝到c;
3.刪除欄位a;sql修改欄位長度的語法:
alter table 表名 modify 欄位名 欄位類型;sql修改欄位長度:
復制代碼代碼示例:
alter table qtline modify qtl_bidernote VARCHAR2(4000);
標准SQL,對任何資料庫都適用
復制代碼代碼示例:
alter table fzrtmis.reporttemplate modify REPNAME varchar(100);
修改欄位名名稱:
復制代碼代碼示例:
ALTER TABLE TABLENAME RENAME COLUMN COL1 TO COL2;
添加欄位:
復制代碼代碼示例:
alter table fzrtmis.itiembuildqk add STATIONSTATE CHAR(1)