Skip to main content

SQLite使用説明(VC++言語)(3)

4.パラメータ設定

SQLにパラメータを渡すには、二つの方法があります。

1. SQL文を組み立てて、値を埋める

CString sql;
sql.Format( _T("SELECT name FROM Names WHERE name = '%s'"), _T("Tom") );

CStringを使用するためUnicodeに対応するsqlite3_prepare16を使用します。

int rc = sqlite3_prepare16( db, sql, -1, &stmt );

この方法でSQL文を組立てる場合、SQLインジェクションという不正利用がおこる可能性がありますので、以下の方法2を推奨します。 (more…)

SQLite使用説明(VC++言語)(1)

1.入手&準備

1.1. 入手

sqlite3本体はC言語で作成されたため、VC++のMFCプログラム、Win32プロジェクト、
及びWin32コンソールプログラムに適用します。本文ではMFCのダイアログプログラムを使用します。

サンプルの作成環境は以下の通りです。

  • Microsoft Visual Studio 2008 Professional Edition 英語版
  • Windows 7 英語評価版

SQLiteの公式サイトから以下二つのファイルをダウンロードしてください。

  • sqlite-amalgamation-3_6_22.zip コンパイラ用のSQLiteソースコード
  • sqlite-3_6_22.zip WindowsプラントフォームでのSQLite管理用コンソールツール

1.2. 準備

Microsoft Visual Studio 2008で、下図のようにMFCのダイアログのプログラムを作成してください。 (more…)

SQLite使用説明(VC++言語)(2)

3.SQL操作

3.1. INSERT操作

以下の手順で操作を行います。

  1. SQL文をコンパイルする(sqlite3_prepare)
  2. 値を設定する(sqlite3_bind)
  3. SQLを実行する(sqlite3_step)
  4. SQL文を破棄する(sqlite3_finalize)

イメージは:

sqlite3_prepare_repeat_using

UPDATE、DELETE、SELECTも同じ手順です。

まずデータベースオブジェクトを作成します。

sqlite3* db;
int rs = sqlite3_open( "test.db", &db );

そしてSQLをコンパイルしてコンパイラステートメントを作成します。

sqlite3_stmt* stmt;
rc = sqlite3_prepare( db, "INSERT INTO Names ( Name ) VALUES ( ? )", -1, &stmt, NULL );

(more…)

AVRマイコン+VS1011E 自作MP3プレーヤー

秋月電子VS1011EのMP3デコーダーを見て、MP3プレーヤーを自作できそうだと思いました。ネットで調べたら既に先輩たちが作成した例をみつけて、データシートやネット文書などを参照しながら自分のMP3プレーヤーも作成できました。 VS1011EはMP1、MP2、MP3、WAV、PCMのフォーマットを320 kbit/sまで再生することができます。AVRマイコンからSPI通信回路でVS1011Eに繋いで、コマンドバースでVS1011Eへの制御が可能です。コマンドで主に以下のことを制御することができます。

  • 再生開始
  • 音量制御
  • 低音、高音の強調

構成

再生するMP3ファイルは事前にパソコンからSDカードに保存して、AVRマイコンがSDカードから読込んでVS1011Eに転送します。SDカードのファイルを読込するためにChaN氏のPetit FAT File System Moduleを利用しています。プレーヤー全体の構成は下図のようです。

outline

(more…)