SQL SELECT文とINSERT文の実行方法
Q.SELECT文とINSERT文の実行方法がわかりません。
A.データを取得するときは ExecuteReader()を、
データを操作するときは ExecuteNonQuery() を使います。
SQL文をプログラム内で実行する際、SQL構文を書いた後に実行命令を出すかと思います。
実行命令は複数あるのですが、今回は冒頭で説明した「ExecuteReader()」と「ExecuteNonQuery()」を以下で解説していきます。
①ExecuteReader()
これは主にSELECT文を実行する際に使用します。
SELECT文では、SQLを実行した後、結果を読み込なければならないのでこの命令を使用します。
下記例文です。
// 実行したいSQL(comはSQLiteCommand型の変数です)
com.CommandText = "SELECT文";
// SQLを実行
SQLiteDataReader reader = com.ExecuteReader();
このように書くことで、SQLの実行ができます。
readerにSELECTしてきたものが代入されているので、それを取得することでリストビューなどに表示ができるようになります。
その際は下記のように、記述します。(取得するときは文字列に変換するかキャストしてください。)
reader [“SELECTした列名"]
[]の中にSELECTした列名を書いてください。
②.ExecuteNonQuery();
こちらは主にINSERT、UPDATE、DELETE文を実行する際に使用します。
INSERT、UPDATE、DELETE文ではデータ操作のSQL文(Queryではない)を実行しなくてはならないのでこの命令を使用します。
下記例文です。
// 実行したいSQL(comはSQLiteCommand型の変数です)
com.CommandText = "INSERT文";
// SQLを実行
com.ExecuteNonQuery();
このように書くことで、SQLの実行ができます。
ちなみに、INSERT、UPDATE、DELETE文ではデータを取得しないので、
SQLiteDataReaderは使用しません。