2009/10/30(Fri) 22:58:16 編集(投稿者)
■No43183 (nao さん) に返信
> http://msdn.microsoft.com/ja-jp/library/system.data.sqlclient.sqlcommand.parameters.aspx
> ちょっと、これだけがいまいち理解できなかったんですが・・・
パラメータークエリー、もしくはパラメタライズドクエリーと呼ばれるものです。
SQL の中に @... のパラメーターマーカーを記述して
INSERT INTO [test_miura] ( name, data, sex ) VALUES ( @name, @data, @sex )
パラメーターマーカーと対応するパラメーターを作成して
Dim nameParameter As SqlParameter = insertCommand.Parameters.Add("@name", SqlDbType.NVarChar)
Dim dataParameter As SqlParameter = insertCommand.Parameters.Add("@data", SqlDbType.NVarChar)
Dim sexParameter As SqlParameter = insertCommand.Parameters.Add("@sex", SqlDbType.Int)
パラメーターに値をセットするというものです。
nameParameter.Value = exceltable.Rows(i).Item(0)
dataParameter.Value = exceltable.Rows(i).Item(1)
sexParameter.Value = exceltable.Rows(i).Item(2)
SQL インジェクションの対策になりますし、コードの可読性も向上します。
積極的に利用されることをお勧めします。
定型的なものなので丸ごと覚えてしまったほうが善いかもしれません。