SQLCODEの表示


VBでMYSQL  2004-05-30 20:25:06  No: 83682  IP: [192.*.*.*]

VB.NETで現在MYSQLを使用しています。
そこでinsertでキー重複が発生した場合、updateに持ち込みたいのですが
現在やってみたい方法というのはSQLCODE(キー重複時など)を使って分岐をしたいのです。
MYSQLのSQLCODEを表示する方法などありますか?
よろしくご教授お願いいたします。

編集    削除
岡田 之仁  2004-05-30 20:47:33  No: 83683  IP: [192.*.*.*]

私もVB.NET + MySQL で作成しておりますが・・・

単にTray Catch で、インサートに失敗し、そのエラーコード
が、重複キーであれば、Catch側で、Updateする・・・
そのような方法ではいけないのでしょうか?

Oracleでは、1文で、書けますが・・・

以上。

編集    削除
VB  2004-05-30 22:57:29  No: 83684  IP: [192.*.*.*]

try catchは考えました。
勉強のため、エラーコードもそうですがそのときsqlcodeがmysqlから
返ってきているのであればそれを確認したいのですが…。
通常sqlの場合sqlcodeというものがあると思います。
たとえば今回は英語で重複キーがありますよとエラーが表示されましたが
これはコードではないのでしょうか?(よく知られている-911ようなもの)
ご指導お願いできますか?

編集    削除
岡田 之仁  2004-05-31 07:51:24  No: 83685  IP: [192.*.*.*]

考えたのではなく、使ってください。
そして、Catchにきた場合のExceptionの中身を確認して下さい。
それでダメなら、ODBCやOleDBを使わなくて、MyODBC.NETの、
.NETネイティブドライバーを使ってみて下さい。

ほかに助言のしようがありませんが・・・

※  Exception も、OleDbException と、OdbcException と複数
    あります。今回のMySQLへのアクセスは、OleDB? ODBC?
    どちらかで使い分けて下さい。

以上。

編集    削除
VBでMYSQL  2004-06-02 01:56:27  No: 83686  IP: [192.*.*.*]

catchを使います。exceptionなど知識がないもので質問の仕方に無理があるようですね。申し訳ございません。
ちなみにMySQLへのアクセスはODBCを使用しています。
exceptionをキーワードに精進します。

編集    削除