@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

OdbcCommandについて

投稿者投稿内容
ぶらんどん
常連さん
会議室デビュー日: 2005/11/18
投稿数: 32
投稿日時: 2006-01-13 14:42
OdbcCommandのParameter.addを使うと'表'が'表\'になってしまい、ExecuteNonQueryでエラーになってしまいます。どうしたらいいでしょうか?
OS:XP
Driver:MySQL ODBC 3.51 Driver
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-13 14:46
引用:

ぶらんどんさんの書き込み (2006-01-13 14:42) より:

'表'が'表'になってしまい


これは、ここでも化けてしまったのかな?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ぶらんどん
常連さん
会議室デビュー日: 2005/11/18
投稿数: 32
投稿日時: 2006-01-13 14:47
すいません。'表'が'表\\'です
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-01-13 14:47
引用:

これは、ここでも化けてしまったのかな?


そういう事かも。
文字コードの問題かな。
http://www.kent-web.com/pubc/jcode/
_________________
囚人のジレンマな日々
ぶらんどん
常連さん
会議室デビュー日: 2005/11/18
投稿数: 32
投稿日時: 2006-01-13 14:51
お返事ありがとうございます。
文字コードの問題なのはわかっていたんですが。プログラム上でリプレイスするしかないんですか?
できれば、Driverのバージョンアップで回避できたらと思っていたんですけど・・・
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-01-13 14:59
どういう風にコードを書いてますか?
また、MySql で文字コードの設定ができるのでは?
_________________
囚人のジレンマな日々
ぶらんどん
常連さん
会議室デビュー日: 2005/11/18
投稿数: 32
投稿日時: 2006-01-13 15:06
Dim CommandText As String = "INSERT INTO XXXX (XXXX, XXXX, XXXX, XXXX) VALUES (?, ?, ?, ?)"
Dim myConnection As New OdbcConnection(DBConnectString)
Dim myCommand As New OdbcCommand(CommandText, MyConnection)
myConnection.Open()
myCommand.Parameters.Add(New OdbcParameter("", OdbcType.VarChar)).Value = XXXX.SelectedItem.Value
myCommand.Parameters.Add(New OdbcParameter("", OdbcType.DateTime)).Value = XXXX
myCommand.Parameters.Add(New OdbcParameter("", OdbcType.VarChar)).Value = XXXX.text
myCommand.Parameters.Add(New OdbcParameter("", OdbcType.Text)).Value = XXXX.text

Try
i = myCommand.ExecuteNonQuery()
Finally
myConnection.close()
End Try

のような感じです。

MySQL自体の文字コードの設定はSJISです。
cse(MySQLのGUIツール)でInsert文を打ってもエラーにはなりませんでした。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-01-13 15:20
いまいち要領を得ないのですが、どこがどうなってどういうエラーだから困っているんですか?

myCommand.Parameters.Add(New OdbcParameter("", OdbcType.Text)).Value = XXXX.text
この部分の 「XXXX.text」 ここが既に化けてる?

myCommand.Parameters.Add(New OdbcParameter("", OdbcType.Text)).Value
ここには何が入ってる?

ExecuteNonQuery()
までは、文字化けを起こしていないけど、データベースには化けた文字が入っている?

エラーとはどんなエラー?
_________________
囚人のジレンマな日々

スキルアップ/キャリアアップ(JOB@IT)