朧の.Netの足跡
問合せ先:support@oborodukiyo.info サイト内検索はこちら
ADO.NET SQLiteでのSQL文内のパラメータの使い方





SQLiteでは、SQL文内でパラメータの所には@+パラメータ名で、@nameという感じで指定します。
.Netでは、SQLite用のパラメータ変数の型は、SQLiteParameter型です。
基本はその型の変数に、ParameterNameプロパティとValueプロパティを指定して、SQLコマンドに登録することで利用可能です。

C#

//SQLiteなのでこれを設定します。
using System.Data.SQLite;

namespace ADONET_SQLiteWithParameters
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            //SQLiteへの接続情報の設定をします。
            SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder();
            //SQLiteのファイルへのパスを設定します。
            builder.DataSource = ViewData["atmark"]"C:\Users\User1\AppData\Roaming\Mozilla\Firefox\Profiles\k5x2f1rf.default\places.sqlite";
            //接続情報を使ってコネクションを生成します。
            using (SQLiteConnection conn = new SQLiteConnection(builder.ConnectionString))
            {
                //SQL文とコネクションを設定します。
                using (SQLiteCommand cmd = new SQLiteCommand("SELECT * FROM moz_places WHERE id BETWEEN @id1 AND @id2", conn))
                {
                    //パラメータの作成
                    SQLiteParameter prmtr1 = new SQLiteParameter();
                    SQLiteParameter prmtr2 = new SQLiteParameter();
                    //パラメータ名は@を除いた名前を指定します。
                    prmtr1.ParameterName = "id1";
                    prmtr2.ParameterName = "id2";
                    //パラメータの値を設定します。
                    prmtr1.Value = "3";
                    prmtr2.Value = "7";
                    //パラメータをコマンドに追加します。
                    cmd.Parameters.Add(prmtr1);
                    cmd.Parameters.Add(prmtr2);
                    //SQLiteへの橋渡しのアダプターを設定します。
                    SQLiteDataAdapter sda = new SQLiteDataAdapter();
                    //SELECTコマンドを設定します。
                    sda.SelectCommand = cmd;
                    //SELECTの実行及びフェッチ
                    sda.Fill(dt);
                    //グリッドに表示します。
                    dataGridView1.DataSource = dt;
                }
            }
        }
    }
}
        

VB.NET

'SQLiteなのでこれを設定します。
Imports System.Data.SQLite

Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim dt As DataTable = New DataTable()
        'SQLiteへの接続情報の設定をします。
        Dim builder As SQLiteConnectionStringBuilder = New SQLiteConnectionStringBuilder()
        'SQLiteのファイルへのパスを設定します。
        builder.DataSource = "C:\Users\User1\AppData\Roaming\Mozilla\Firefox\Profiles\k5x2f1rf.default\places.sqlite"
        '接続情報を使ってコネクションを生成します。
        Using conn As New SQLiteConnection(builder.ConnectionString)
            'SQL文とコネクションを設定します。
            Using cmd As New SQLiteCommand("SELECT * FROM moz_places WHERE id BETWEEN @id1 AND @id2", conn)
                'パラメータの作成
                Dim prmtr1 As SQLiteParameter = New SQLiteParameter()
                Dim prmtr2 As SQLiteParameter = New SQLiteParameter()
                'パラメータ名は@を除いた名前を指定します。
                prmtr1.ParameterName = "id1"
                prmtr2.ParameterName = "id2"
                'パラメータの値を設定します。
                prmtr1.Value = "3"
                prmtr2.Value = "7"
                'パラメータをコマンドに追加します。
                cmd.Parameters.Add(prmtr1)
                cmd.Parameters.Add(prmtr2)
                'SQLiteへの橋渡しのアダプターを設定します。
                Dim sda As SQLiteDataAdapter = New SQLiteDataAdapter()
                'SELECTコマンドを設定します。
                sda.SelectCommand = cmd
                'SELECTの実行及びフェッチ
                sda.Fill(dt)
                'グリッドに表示します。
                DataGridView1.DataSource = dt
            End Using
        End Using
    End Sub
End Class
        








良いやや良い普通やや悪い悪い

投稿日時評価コメント