私はQtのQStringで使用しているスクリプトを用意しています。これはQSQLqlに渡してSqliteデータベースにテーブルを作成しています。Qt Sqliteはスクリプトから1つのテーブルのみを作成します
スクリプト。
CREATE TABLE accounts
(
A_Id INTEGER PRIMARY KEY,
Account_Name TEXT,
Account_Date TEXT
);
CREATE TABLE statements
(
S_Id INTEGER PRIMARY KEY,
Statement_Name TEXT
);
CREATE TABLE transactions
(
T_Id INTEGER PRIMARY KEY,
A_Id INTEGER,
S_Id INTEGER,
Amount REAL,
Transaction_Date TEXT,
FOREIGN KEY(A_Id) REFERENCES accounts(A_Id),
FOREIGN KEY(S_Id) REFERENCES statements(S_Id)
);
ただし、スクリプトが実行されるときに最初のテーブルだけがデータベースに作成されます。
ありがとうございました。
私はQT延長に精通していないですが、 'QSqlQuery'は一度に1つのSQLiteの文を処理できる可能性が高いようです。あなたのSQLを3つの別々の 'QSqlQuery :: exec'呼び出しで分割します。 – Nate