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" <]