- - PR -
asp.net + oracle 変数をバインドすることについての質問
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-10-11 13:25
いつもお世話になっております。
asp.net(vb) oracle9i で開発しております。 SQL文のWhere句に Where id=:userid(useridは変数)と書いてあります。 vb側で com.parameter.AddwithValue("userid”,struserid) datareader=com.ExecuteReader() と書いたら datareader=com.ExecuteReader()でバインドされていない変数がありますとのエラーが起きます。 SQLServerを使う時は SQL文:Where id=@userid(useridは変数) com.parameter.AddwithValue("userid”,struserid) datareader=com.ExecuteReader() これで正常に動いたんですが。。。 oracleは初めてです。なぜこんなエラーが起きるかよくわかりません。誰か 助けてください。 | ||||
|
投稿日時: 2007-10-11 13:32
com.BindByName = true
としても状況は同じでしょうか? | ||||
|
投稿日時: 2007-10-11 13:35
GENZOさん:
ありがとうございます。 もっと具体的に教えていただけますか。 com.BindByName = true と書いてありますが。 com. でどう探してもBindByNameは見つかりませんが。。。 | ||||
|
投稿日時: 2007-10-11 14:02
これは ODP.NET での話ですね。 何を使ってます? OLEDB? 環境ぐらい書きましょう。 #あ、OLEDB だったらパラメータは「?」でしたね。。。(編集にて一文追加) [ メッセージ編集済み 編集者: まるく 編集日時 2007-10-11 14:03 ] | ||||
|
投稿日時: 2007-10-11 14:35
まるくさん:
OLEDBを使っています。 Where id=?userid に直してやって見たら今回はまた下記エラーが出ます。 'MSDAORA.1' は失敗しましたが、エラー メッセージはありません。結果コードは E_FAIL(0x80004005) です。 接続文字列は Provider=MSDAORA.1;Password=nric;User ID=nric_d;Data Source=PIA;Persist Security Info=True ですが。。。 | ||||
|
投稿日時: 2007-10-11 16:50
http://msdn2.microsoft.com/ja-jp/library/z72eefad(VS.80).aspx
の真ん中ちょい下 「OleDb プロバイダと Odbc プロバイダにおけるパラメータの使用」 等を参照 | ||||
|
投稿日時: 2007-10-12 00:44
ODP.NETの話だと勝手に解釈していました。上記は無視してください。 |
1