'OracleSelectCommand1 Me.OracleSelectCommand1.CommandText = "SELECT A, B, C, FROM ABC_DATABASE WHERE (A LIKE ':A')" Me.OracleSelectCommand1.Connection = Me.OracleConnection1 'ここまでが生成コード
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '以下は変数を扱うコード
分類:[.NET]
オラクルDBから既存のデータを、TextBox1の条件を付けて検索させたいのですが、DataSetを設定する際に生成される「Windows フォーム デザイナで生成されたコード」の他に変数を扱うコードを記載しましたが、うまく検索されません。「変数の名前/数が無効です」と怒られます。変数無しの直接SELECT文に条件文字列を記入すると問題無く検索されます。何が問題か分らないため困っています。
何方か宜しくお願いします。
" Windows フォーム デザイナで生成されたコード "
:
:
:
'DataSet11
Me.DataSet11.DataSetName = "DataSet1"
Me.DataSet11.Locale = New System.Globalization.CultureInfo("ja-JP")
'
'OracleDataAdapter1
Me.OracleDataAdapter1.SelectCommand = Me.OracleSelectCommand1
Me.OracleDataAdapter1.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "ABC_DATABASE", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("A", "A"), New System.Data.Common.DataColumnMapping("B", "B"), New System.Data.Common.DataColumnMapping("C", "C"),New})})
'OracleConnection1
Me.OracleConnection1.ConnectionString = "user id=test;data source=abc;password=xyz"
'OracleSelectCommand1
Me.OracleSelectCommand1.CommandText = "SELECT A, B, C, FROM ABC_DATABASE WHERE (A LIKE ':A')"
Me.OracleSelectCommand1.Connection = Me.OracleConnection1
'ここまでが生成コード
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'以下は変数を扱うコード
Me.OracleSelectCommand1.Parameters.Add(New System.Data.OracleClient.OracleParameter(":A", System.Data.OracleClient.OracleType.VarChar, 50))
Me.OracleSelectCommand1.Parameters(":A").Value = Me.TextBox1.Text & "%"
'DataGridへの表示
OracleDataAdapter1.Fill(DataSet11)
End Sub
以上