4

私は Linux を実行しており、sqlite3 でデータベースを作成して開くためのコードを作成しました。次に、コードはいくつかのダミー エントリを含むいくつかのダミー テーブルを作成します。それが完了したら、実行します

sqlite3 test.db < ./sqliteauto.sql

私の sqliteauto.sql コードは次のとおりです。

--general settings
.headers on
.mode columns

--people table
.width 3 6 4
select * from PEOPLE; 

--state table
.width 3 11 5
select * from STATES;
.quit

これにより、sqliteauto.sql でコーディングした正しい間隔と列幅を持つ 2 つのダミー テーブルと値が返されます。唯一の問題は、テーブルの最後のエントリが次のテーブルの列ヘッダーに流れ込むことです。

次のようになります。

ID1     NAME     AGE
-----   ------   ----
1       Steve    25
2       Chris    30
ID2     STATE    ABRV
-----   ------   -----
1       Texas    TX
2       Georgia  GA

次のようにコマンド プロンプトでより適切に表示されるように、テーブル間に新しい行を挿入するには、sqliteauto.sql コードに何を入力しますか。

ID1     NAME     AGE
-----   ------   ----
1       Steve    25
2       Chris    30


ID2     STATE    ABRV
-----   ------   -----
1       Texas    TX
2       Georgia  GA
4

2 に答える 2

0

sqlite3ツールが空の行を出力するようにするには、コマンドを使用します.print ''

于 2013-06-17T13:18:32.100 に答える
0

SQLiteページで多くの検索を行った後、私はこれを見つけました..

http://www.sqlite.org/c3ref/mprintf.html

たとえば、文字列変数 zText に次のようなテキストが含まれているとします。

char *zText = "今日は幸せな日です!"; 次のように、SQL ステートメントでこのテキストを使用できます。

char *zSQL = sqlite3_mprintf("INSERT INTO table VALUES('%q')", zText); sqlite3_exec(デシベル、zSQL、0、0、0); sqlite3_free(zSQL);

問題は、それをどのように実装するかです。外部ファイルからスクリプトを実行していると思います。

ドキュメントでは、mprintf は C の printf に似ていると書かれているので、それを使用して出力に直接出力できるはずです。

のようなものを試してください

sqlite3_mprintf("___    ____")

もちろん、私は間違っているかもしれません、あなたはそれを試してみる必要があります...

デビッド

于 2013-06-17T14:39:16.260 に答える