- - PR -
VB.NETのSQL更新エラーにつきまして
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-10-14 20:08
VB.NETでoracle接続の環境で開発しております。
SQL実施時に、下記のとおりパラメータ変数を使用して、 更新を実施しましたが、更新されません。 SQLエラーにはなっていないのですが・・・。 myCommand = New OracleCommand("UPDATE LOG_TABLE SET CNT=CNT+1,ACCESS=:access WHERE URL=:url", myConnection) myCommand.Parameters.Add("url", Request.Url.ToString()) myCommand.Parameters.Add("access", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")) デバッグして、どうやらSETコマンドのところで、 変数「:access」を使用しているとうまくいかないのですが、 SETコマンドの箇所だと変数は使えないのでしょうか?? 解決策などありましたらご教授頂きたいです。 よろしくお願い致します。 [ メッセージ編集済み 編集者: mike 編集日時 2004-10-14 20:09 ] | ||||||||
|
投稿日時: 2004-10-14 20:36
myCommand.Parameters.Add("url")
↓ myCommand.Parameters.Add(":url") ではないでしょうか? | ||||||||
|
投稿日時: 2004-10-14 21:00
これは「myCommand.Parameters.Add("url") 」であってます。 原因はこちらだと思います。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=13995&forum=7 | ||||||||
|
投稿日時: 2004-10-14 22:05
南部です。
他のエラーはでないのですか? 私のところでは、 ----------- System.Data.OracleClient.OracleException: ORA-01745: ホスト/バインド変数名が無効です。 ----------- と出ましたが。
上記エラーがでているなら、 「:access」を別の名前にして実行してみてください。 また、 System.Data.OracleClient.OracleException: ORA-01747: user.table.column、table.columnまたは列指定が無効です が出たら、 "UPDATE 〜 , \"ACCESS\"=:access 〜"; とACCESSをダブルコーテーションで囲ってみてください。 (VB.NETだと、「"」2つでエスケープだっけ?) 的外れでしたら、ごめんなさい。 | ||||||||
|
投稿日時: 2004-10-15 08:54
皆様ご回答ありがとうございます。 tenさんのご指摘どおり、 過去スレに同じ現象が載っていました・・・。 確認もれです。申し訳ありません。 パラメータセットの前に、 myCommand.BindByName = True で解決出来ました。 本当に助かりました。 ありがとうございます。 |
1