- - PR -
SQLのWHERE句の条件式設定
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-02-23 15:48
画面から入力されたTEXTBOXの内容をSQLのWHERE句に
設定したいのですが、うまくいきません。 (処理内容の … WHERE ID=? の所) どうすればうまくいくのでしょうか? ◆処理内容 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim myConnString As String = "Data Source=orasrv;Password=usr1;User ID=usr1" Dim mySelectQuery As String = "SELECT NAME FROM NCT050 WHERE ID=?" Dim myConnection As New OracleConnection(myConnString) Dim myCommand As New OracleCommand(mySelectQuery, myConnection) myConnection.Open() Dim myReader As OracleDataReader myReader = myCommand.ExecuteReader() While myReader.Read() Label1.Text = myReader.GetString(0) End While myReader.Close() myConnection.Close() End Sub | ||||
|
投稿日時: 2004-02-23 16:19
Oracle のパラメータ指定は、":パラメータ名" となります。
Dim mySelectQuery As String = "SELECT NAME FROM NCT050 WHERE ID=:param_id" そして、パラメータに実際の値を入れるには、 myCommand.Parameters.Add("param_id", 実際のパラメータ) です。 | ||||
|
投稿日時: 2004-02-23 16:58
もう一つのスレッドで「Oracle7.3.4」とありましたが、.NET Framework Data Provider For Oracleは、Oracle8.1.7以降です。
ODP.NETの方は、Oracle9.0.1からだったと思います。使用できる環境はよく確かめましょう。 | ||||
|
投稿日時: 2004-02-23 17:09
daiさん、ありがとうございました。
ご指摘の通り実行したらうまく行きました。 ついでといっては何ですが、Oracle接続先、ユーザー等(Dim myConnString As String = "Data Source= … ”) を可変(例えば、iniファイルに設定するかWeb.config に定義する等)にしたいのですが 、ご存知でしたらご教授いただきたくお願いします。 素人で申し訳ありません。 | ||||
|
投稿日時: 2004-02-23 17:24
ConfigurationSettingsクラスを使えば、アプリケーション構成ファイル(Web.config)からデータを取得できます。
お試しください。 | ||||
|
投稿日時: 2004-02-23 17:47
私はDataSource, User, Passwordのプロパティを持ったクラスを作り、バイナリシリアライザでファイルに保存しています。保存場所はWIN32APIでAll Users/Application Dataを取得しています。なので、アプリケーションドメインの境界を越えて共通に使用できています。(あ、共通プロジェクトを作っているんだから、それのconfigファイルに書けばいいのか) | ||||
|
投稿日時: 2004-02-24 09:45
僕もJittaさんと近いですね。
Web.configのadd要素は生理的に嫌いなので、独自のファイルにXMLシリアライズして、binディレクトリに保存しています。 主に読み取り専用(開発者が納品時に設定)ですけど。 | ||||
|
投稿日時: 2004-02-24 22:15
みなさん、ご回答ありがとうございました。
おかげで接続先を可変にすることができました。 今、悪戦苦闘しているのはOracleDataAdapterを使用し、 TEXTBOXの内容をSQLのWHERE句に設定したいのですが、 これもうまくいきません。(処理内容の … WHERE ID='abc' の所) MSDNの記載内容等を参考に今日1日かけて試しましたが、まったくだめ でした。知っている方がいましたらご教授お願いします。 ◆処理内容 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As system.EventArgs) Handles Button1.Click Dim myConnString As String = ConfigurationSettings.AppSettings("dBkey1") Dim myConnection As New OracleConnection(myConnString) myConnection.Open() Dim mySelectQuery As String = "SELECT name FROM view WHERE id='abc'" Dim ODA As New OracleDataAdapter(mySelectQuery, myConnection) ODA.Fill(DataSet1) DataGrid1.DataBind() myConnection.Close() End Sub |
1|2|3
次のページへ»