mysql:161
From: Tamon Nomura <Tamon Nomura <tamon@xxxxxxxxxx>>
Date: Wed, 27 May 1998 21:20:49 +0900
Subject: [mysql 161] Re[2]: MyODBC でトラブル
tamonです。MyODBCの話がでたんでちょっと。 > [utility.c] > void remove_escape(char *name) > [prepare.c] > RETCODE my_SQLPrepare(HSTMT hstmt,UCHAR FAR *szSqlStr, SDWORD cbSqlStr) > [execute.c] > static char *insert_param(NET *net,char *to,PARAM_BIND *param) ばっちり出来ました。変更したソースなんかみせていただけるとうれしいです。 ちなみに私は void remove_escape(char *name) { char *to; for (to=name ; *name ; name++) { if (*name == '\\' && name[1]){ name++; } if( *name >= 0){ *to++= *name; }else{ *to++= *name; *to++= *name; } } *to=0; } など、コードが128以上(とゆうか以下とゆうか)の場合、強制的に SJISとみなし、2バイトコピーしたり RETCODE my_SQLPrepare(HSTMT hstmt,UCHAR FAR *szSqlStr, SDWORD cbSqlStr) { では int li_sjis; を宣言しておいて li_sjis = 0; for (pos=stmt->query; *pos ; pos++) { if (*pos == '\\' && pos[1] && li_sjis == 0) (ループ・・・) if ( *pos < 0 && li_sjis == 0 ) { li_sjis = 1; }else{ li_sjis = 0; } } など、かなりあいまいなコード判定だったりします。 ところで、MyODBC 2.50.16bを使っていらっしゃるようですが DATEのカラムがおかしくなりませんか? こちらの環境では、DATEのパラメータ渡しがおかしいようで insertしても0000-00-00になってしまい、update時も0000-00-00 としてupdateしようとし、レコードが無いので、他のユーザーが 更新中でupdate出来ませんでした、といわれてしまいます。(Access97) しょうがないので2.50.15aのソースをどっか(笑)から拾ってきて 使っているんですが、この辺も直されたのでしょうか? tamon mailto: tamon@xxxxxxxxxx
159 1998-05-27 13:36 ["Toshiyuki Fujii" <f] MyODBCでトラブル 160 1998-05-27 14:16 ┗[Kengo Jinno <kengo@x] -> 161 1998-05-27 21:20 ┣[Tamon Nomura <tamon@] Re[2]: MyODBC でトラブル 162 1998-05-27 21:59 ┃┗[Kengo Jinno <kengo@x] Re: MyODBC でトラブル 163 1998-05-27 22:50 ┃ ┗[Tamon Nomura <tamon@] 164 1998-05-27 23:15 ┃ ┗[<takeshi@xxxxxxxxxx>] 166 1998-05-28 01:40 ┗[Hiroshi Marui <bant@] 169 1998-05-28 15:16 ┗[Kengo Jinno <kengo@x] SJIS<-->UJIS on MyODBC ( Re: MyODBCでトラブル ) 172 1998-05-28 15:54 ┣["民斗 " <tommy@xxxxx] 175 1998-05-29 01:32 ┗[Hiroshi Marui <bant@]