mysql:13501
From: "kondo kondo" <"kondo kondo" <umiushi_00@xxxxxxxxxx>>
Date: Tue, 14 Nov 2006 14:05:55 +0000
Subject: [mysql 13501] Re: MYSQL+VB6.0*ADODCについて
SELECTの対象になったレコードを削除したいんですよね? SQLだけでやってみたらどうでしょうか? DELETE FROM A_DB WHERE PLANT IN (SELECT PLANT FROM A_DB WHERE PLANT = 'A'); こんな感じ?(ひさびさなのでちょっと自信が・・・^^;) >From: mew101 <mew101@xxxxxxxxxx> >Reply-To: ml@xxxxxxxxxx >To: ml@xxxxxxxxxx >Subject: [mysql 13500] Re: MYSQL+VB6.0*ADODCについて >Date: Tue, 14 Nov 2006 17:35:36 +0900 > > > > 永坂です。 > > 最近触ってないので古いソース引っ張ってきましたが > > My_Db.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};Server=[ サーバIP];PORT=[使用ポート];DATABASE=[データベース];UID=[ユーザ ID];PASSWORD=[ユーザパスワード];OPTION=3" > > My_Db.Open > > という形でDB接続しています。 > > ODBCドライバ部分はODBCデータソースアドミニストレータなどで確認してくださ い。 > > Openしなくても接続できるんでしょうか? > > > >永坂さん 近藤さん >どうもありがとうございます >コントロールパネルで設定したODBCを使わず >上記のとおり、やってみたらメッセージが出ませんでした >ありがとうございました >思うにOPENしなくともデータを持ってくるようです >しかし > Adodc1.RecordSource = "SELECT PLANT FROM A_DB WHERE PLANT = 'A'" > If Adodc1.Recordset.EOF Then > >この構文ではどうもうまくなく、 >SELECT文に関係なく先頭が削除されてしまうようです >まずはエラーが出なくなったので >ありがとうございました > > > > > > > 鈴木@宮城といいます > > > > > > かなり古い技術かもしれませんが > > > VB6.0+ADODC+ODBC接続でのプログラムを作成しています > > > > > > MYSQLのデータベースを1度アクセス2000でリンク(ODBC接続)させ > > > データの更新をします > > > (ここでは'A'というデータを削除する) > > > > > > Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" > > > & App.Path & "\AC2000.mdb;" & "Mode=Share Deny None;Persist Security > > > Info=False" > > > > > > Adodc1.RecordSource = "SELECT PLANT FROM A_DB WHERE PLANT = 'A'" > > > If Adodc1.Recordset.EOF Then > > > MsgBox ("データが無い") > > > Else > > > If Text1.Text <> "" Then > > > Adodc1.Recordset.Delete > > > Adodc1.Recordset.Update > > > Adodc1.Refresh > > > End If > > > End If > > > > > > これはうまく削除できますが > > > アクセス2000をかまさないでできないかと思い > > > > > > Adodc1.ConnectionString = "ODBC_DB" > > > (MYSQL とODBC接続) > > > Adodc1.RecordSource = "SELECT PLANT FROM A_DB WHERE PLANT = 'A' > > > If Adodc1.Recordset.EOF Then > > > MsgBox ("データが無い") > > > Else > > > If Text1.Text <> "" Then > > > Adodc1.Recordset.Delete > > > Adodc1.Recordset.Update > > > Adodc1.Refresh > > > End If > > > End If > > > > > > とすると > > > DELETEのところで > > > > > > 実行時エラー(−2147467259)(80004005) > > > 更新に必要なベーステーブル情報が足りません > > > > > > とでます > > > データは持ってくるようなのですが > > > 更新しようとするとエラーとなります > > > 何が足りないのでしょうか? > > > > > > ADODCを使う理由はDATAGRIDとの連携がいいからなんですが > > > MYSQLには使えないのでしょうか? > > > MYSQLの問題と思い投稿させていただきました > > > よろしくお願いします > > > > > > > > > > > > > > _________________________________________________________________ Hotmail に直接アクセス!MSN がさらに使いやすく http://jp.msn.com/
13485 2006-11-13 18:38 [mew101 <mew101@xxxxx] MYSQL+VB6.0*ADODCについて 13493 2006-11-14 11:17 ┣["kondo kondo" <umius] 13494 2006-11-14 11:28 ┗[Hiroshi Nagasaka <h-] 13500 2006-11-14 17:35 ┗[mew101 <mew101@xxxxx] -> 13501 2006-11-14 23:05 ┗["kondo kondo" <umius] 13502 2006-11-15 10:41 ┗[mew101 <mew101@xxxxx]