1. 程式人生 > >以使用QSqlQuery向資料庫中插入資料為例,做一個小結

以使用QSqlQuery向資料庫中插入資料為例,做一個小結

背景:

最近在使用Qt+SQLite寫一個本地資料庫管理程式(使用者不懂SQL),在寫向資料庫中插入資料的

相關的函式時,我遇到了幾個問題(暫時就這些):

1.向指定欄位插入指定資料時,讀取到的資料都是字串型別,然而不同欄位的資料型別是不同的,這

裡需要獲取不同欄位的資料型別,再做型別轉換

2.使用QSqlQuery插入資料時,具體實現的考慮

3.在實現一個功能時,是先將功能做出來,然後對一些最初未考慮到的問題慢慢補足,還是先儘可能考

慮到所有情況,再實現相關功能

4.此時某個函式的實現,是否有利於以後的優化,重構,擴充套件

我的嘗試過的解決辦法:

問題1:將使用者輸入的字串切分,用QStringList儲存(將被插入的資料與對應欄位名,表名),取出資料

庫中對應表的所有欄位和該欄位對應資料型別名,通過比較,得到使用者輸入的各個資料應被轉換為的數

據型別,接著做型別轉換

問題2:插入資料時,分為插入一行資料和插入多行資料,而QSqlQuery正好提供了對應的方法,但在實

現多行資料插入時,既可以使用QSqlQuery提供的插入多行資料的方法,也可以先實現插入一行資料,再

插入多行時,迴圈呼叫插入一行資料的函式

在實現插入函式時,是直接將使用者輸入的資料傳入函式,還是先在另一個函式中對使用者資料進行處理,再

傳入插入函式?

使用QSqlQuery插入資料時,使用何種程式碼風格(ODBC等)

問題3,4:我是先實現出來,判斷此時想到的實現方法是否可行,再進行修飾

具體程式碼等全部做完再貼吧。