MySqlの文字型データをDelphiで表示するには

解決


PP  2009-10-30 12:52:22  No: 36028  IP: 192.*.*.*

MySQLのコマンドプロンプトから以下のSQL文でテーブルを作成し、
Insertでデータを入力しました。
(サーバーの起動直後に SET NAMES cp932を実行)

create table mymenu(
  id int auto_increment primary key,
  name varchar(100),
  price int,
  start_date DATETIME,
  last_update TIMESTAMP default current_timestamp
)ENGINE=InnoDB DEFAULT CHARSET=cp932; 

insert into mymenu(name, price, start_date) values('いちご', 500, '1997-10-14');

Delphiでフォーム上に、TDBGrid,TDataSource,TTableを配置し
TDBGridのDatasourceプロパティをDataSource1,
TDataSourceのDataSetプロパティをTTable1,
TTableのDatabaseNameをTestDS,TableNameをMyMenuにし
TTableのActiveプロパティをTrueにすると
TDBGridのフィールド名列には、id,price,start_date,last_updateと表示され、nameフィールドが表示されません。他のフィールドはデータも正しく
表示されています。
FieldDefのnameの箇所をクリックするとDataTypeがftUnKnownとなっており
この影響でnameフィールドが表示されていないと思います。
このnameフィールドを表示させるにはどうすればよいでしょうか。
よろしくお願いします。

環境 WindowsXP SP3
     MySql バージョン 5.1
     ODBC ドライバ    5.1
     Delphi 2007

編集 削除
igy  2009-11-01 09:47:04  No: 36029  IP: 192.*.*.*

ODBC ドライバ は使ったことがないのですが・・・・

TTableではなく、TQueryで、
 select name, price, start_date from mymenu
で表示させた場合、どうなりますか?

あるいは、
>name varchar(100),
のname を別のものにしてみるとか・・・・

編集 削除
PP  2009-11-01 15:43:51  No: 36030  IP: 192.*.*.*

igyさん、ご回答ありがとうございます。

1.TTableではなく、TQueryで、
   select name, price, start_date from mymenu
    で表示させた場合も、nameフィールドは表示されませんでした。

2.name varchar(100)を  nm Textに変更してやったみましたが
    nmフィールドは表示されませんでした。

MySQLのiniファイルやcnfファイルの内容に問題がないか、
も含めて、やってみようと思います。

編集 削除
PP  2009-11-01 18:51:23  No: 36031  IP: 192.*.*.*

ODBCドライバのバージョンを5.1から3.51にダウンすると
文字列が読めるようになりなした。
一応、これで解決とさせていただきます。
ありがとうございました。

編集 削除