VB.NETで現在MYSQLを使用しています。
そこでinsertでキー重複が発生した場合、updateに持ち込みたいのですが
現在やってみたい方法というのはSQLCODE(キー重複時など)を使って分岐をしたいのです。
MYSQLのSQLCODEを表示する方法などありますか?
よろしくご教授お願いいたします。
私もVB.NET + MySQL で作成しておりますが・・・
単にTray Catch で、インサートに失敗し、そのエラーコード
が、重複キーであれば、Catch側で、Updateする・・・
そのような方法ではいけないのでしょうか?
Oracleでは、1文で、書けますが・・・
以上。
try catchは考えました。
勉強のため、エラーコードもそうですがそのときsqlcodeがmysqlから
返ってきているのであればそれを確認したいのですが…。
通常sqlの場合sqlcodeというものがあると思います。
たとえば今回は英語で重複キーがありますよとエラーが表示されましたが
これはコードではないのでしょうか?(よく知られている-911ようなもの)
ご指導お願いできますか?
考えたのではなく、使ってください。
そして、Catchにきた場合のExceptionの中身を確認して下さい。
それでダメなら、ODBCやOleDBを使わなくて、MyODBC.NETの、
.NETネイティブドライバーを使ってみて下さい。
ほかに助言のしようがありませんが・・・
※ Exception も、OleDbException と、OdbcException と複数
あります。今回のMySQLへのアクセスは、OleDB? ODBC?
どちらかで使い分けて下さい。
以上。
catchを使います。exceptionなど知識がないもので質問の仕方に無理があるようですね。申し訳ございません。
ちなみにMySQLへのアクセスはODBCを使用しています。
exceptionをキーワードに精進します。