[前][次][番号順一覧][スレッド一覧]

mysql:2299

From: "MIYATSU Kazunari" <"MIYATSU Kazunari" <mid@xxxxxxxxxx>>
Date: Mon, 24 Jul 2000 17:59:31 +0900
Subject: [mysql 02299] Re: VB で mysql に接続するには

宮津@長野 of 新参者です

一ヶ月も前の事で、既に解決済みかと思いま
すが、VB6+MyODBC経由
で操作中私も悩んでいたもので・・・。(そ
れでこちらのMLに加入
させて頂きました)

英語MLでもExcuteメソッドでSQLを直接送る
という方法だけ見つけ
られましたが、とりあえず以下のようにする
ことで、VBコードから
操作する場合の問題を回避できました。
----------------------------------------
---------
Dim WS as WorkSpace
Dim DB as Database
Dim RS as Recordset

Set WS = CreateWorkspace("MyWS", "", "",
dbUseODBC)
WS.DefaultCursorDriver=dbUseODBCCursor

Set DB = WS.OpenDatabase("sample", _

dbDriverNoPrompt, True, _
"ODBC;DSN=MyODBC;SERVER=MyServer;DATABAS
E=sampleDB;UID=user;
PWD=password;OPTION=16387")

Set RS = DB.OpenRecordset("SELECT * FROM
TB_Main", _
      dbOpenDynamic,0,dbOptimistic)

RS.AddNew
RS!Name = "Surname,Name"
RS!MemberNo = 2
RS!RegDate = Now()
RS.Update
RS.Close
----------------------------------------
---------
上ではDatabaseオブジェクトを使用していま
すが,WS.OpenConnect
でもほぼ同様です。

初めは、RS.UpdateでODBC呼び出し失敗エ
ラーで悩みました。
VBのウォッチ式で検査中、"他のカーソルラ
イブラリが必要"と報告
されていましたので、ワークスペースの
DefaultCursorDriverを上
記のように設定し回避しました。

また、MyODBCのReadmeにはVBやADOから使う
場合には2+16384=16386
をオプション値にせよとなっていたのです
が、レコードの追加
(AddNewメソッド)時に文字列フィールドの全
長が0で返ってくる(正
確には直前にフェッチしたレコードのフィー
ルド長らしいので既に
レコードがあるものを操作する場合には現れ
難い症状)為、正しく
格納できませんでした。

'Don't optimize column widths'を加え
16387をオプションに指定
することで新規レコードでもフィールド長を
正しく取得でき文字列
代入がフィールド長いっぱいまで出来るよう
になりました。

参考になれば幸いです。


[前][次][番号順一覧][スレッド一覧]

      2205 2000-06-16 14:32 [Satoshi Koiwa <koiwa] 3.22 と 3.23 のどちらを選ぶべき ?       
      2206 2000-06-16 17:38 ┣[<takeshi@xxxxxxxxxx>]                                       
      2207 2000-06-16 19:32 ┃┣[Satoshi Koiwa <koiwa]                                     
      2209 2000-06-17 12:18 ┃┃┗[<takeshi@xxxxxxxxxx>]                                   
      2208 2000-06-17 10:20 ┃┗["N.Yoshida" <yosh_no]                                     
      2210 2000-06-18 16:08 ┗["Toyoshima@CROSSNET"]                                       
      2212 2000-06-18 21:45  ┗[Satoshi Koiwa <koiwa]                                     
      2213 2000-06-19 00:07   ┗["Toyoshima@CROSSNET"]                                   
      2214 2000-06-19 01:30    ┣[とみたまさひろ <tomm]                                 
      2215 2000-06-19 02:02    ┗["Satoshi Koiwa" <koi]                                 
      2216 2000-06-19 03:02     ┣["Ningfeng Yang" <yan]                               
      2217 2000-06-19 03:02     ┗[hama <KHC01210@xxxxx]                               
      2218 2000-06-19 08:42      ┣["Satoshi Koiwa" <koi]                             
      2231 2000-06-25 09:36      ┗["U.FUJIWARA" <cbx131] VB で mysql に接続するには  
      2232 2000-06-25 19:27       ┣[Satoshi Tatsuoka <sa]                           
      2234 2000-06-26 06:34       ┃┗["U.FUJIWARA" <cbx131]                         
->    2299 2000-07-24 17:59       ┗["MIYATSU Kazunari" <]                           
      2300 2000-07-24 18:20        ┗["MIYATSU Kazunari" <]