ORACLEでは、SQL文内でパラメータの所にはコロン+パラメータ名で、:nameという感じで指定します。
.Netでは、オラクル用のパラメータ変数の型は、OracleParameter型です。
基本はその型の変数に、ParameterNameプロパティとValueプロパティを指定して、SQLコマンドに登録することで利用可能です。
C#
//Oracleなのでこれを設定します。
using Oracle.DataAccess.Client;
namespace ADONET_ORACLEWithParameters
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
//Oracleへの接続情報の設定をします。
OracleConnectionStringBuilder builder = new OracleConnectionStringBuilder();
builder.UserID = "system";
builder.Password = "password";
builder.DataSource = "pdborcl";
//接続情報を使ってコネクションを生成します。
using (OracleConnection conn = new OracleConnection(builder.ConnectionString))
{
//SQL文とコネクションを設定します。
//パラメータの入る場所には、:(パラメータ名)と先頭にコロンが付きます。
using (OracleCommand cmd = new OracleCommand("SELECT * FROM dba_users WHERE username LIKE :username", conn))
{
//パラメータの作成
OracleParameter prmtr = new OracleParameter();
//パラメータ名はコロンを除いた名前を指定します。
prmtr.ParameterName = "username";
//パラメータの値を設定します。
prmtr.Value = "%SYS%";
//パラメータをコマンドに追加します。
cmd.Parameters.Add(prmtr);
//Oracleへの橋渡しのアダプターを設定します。
OracleDataAdapter oda = new OracleDataAdapter();
//SELECTコマンドを設定します。
oda.SelectCommand = cmd;
//SELECTの実行及びフェッチ
oda.Fill(dt);
//グリッドに表示します。
this.dataGridView1.DataSource = dt;
}
}
}
}
}
VB.NET
'Oracleなのでこれを設定します。
Imports Oracle.DataAccess.Client
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dt As DataTable = New DataTable()
'Oracleへの接続情報の設定をします。
Dim builder As OracleConnectionStringBuilder = New OracleConnectionStringBuilder()
builder.UserID = "system"
builder.Password = "password"
builder.DataSource = "pdborcl"
'接続情報を使ってコネクションを生成します。
Using conn As New OracleConnection(builder.ConnectionString)
'SELECTコマンドを設定します。
Using cmd As New OracleCommand("SELECT * FROM dba_users WHERE username LIKE :username", conn)
'パラメータの作成
Dim prmtr As OracleParameter = New OracleParameter()
'パラメータ名はコロンを除いた名前を指定します。
prmtr.ParameterName = "username"
'パラメータの値を設定します。
prmtr.Value = "%SYS%"
'パラメータをコマンドに追加します。
cmd.Parameters.Add(prmtr)
'Oracleへの橋渡しのアダプターを設定します。
Dim oda As OracleDataAdapter = New OracleDataAdapter()
oda.SelectCommand = cmd
'SELECTの実行及び保存
oda.Fill(dt)
'グリッドに表示します。
Me.DataGridView1.DataSource = dt
End Using
End Using
End Sub
End Class
| 良い | やや良い | 普通 | やや悪い | 悪い |
|---|---|---|---|---|
| 2 | 0 | 1 | 0 | 2 |
| 投稿日時 | 評価 | コメント |
|---|