掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TADOTableのフィールドサイズについて (ID:19694)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Caster と申します。 初めて質問させていただきます。宜しくお願いいたします。 早速ですが、TADOTableを使用して、不可解な現象がおきました。 以下にその現象を説明します。 DBはMySQL5.0.0-alpha を使用しており、 データベース名:testDB テーブル名 :testtable フィールド名 :testField ( 型:VARCHAR(20) ) レコード数 :10 最大データ長 :11byte という設定です。 ここで、TADOTable のアクティブレコードを編集する際、 testFieldに文字列"abcdefghijklm"(13Byte)を書き込む (TADOTable.FieldByname('testField').asstring:='abcdefghijklm') と書き込んだ結果は"abcdefghijk"となって、"lm"が省略 されます。調べた結果、 TADOTable.Fields[0].Size = 11 (TADOTable.Fields[0] = TADOTable.FieldByName('testField') ) となり、12byte目以降が省かれます。 TFieldsのメモリサイズはてっきり、データベースのフィールドサイズ (varchar(20)=20Byte)分確保するもどだと思っていたのですが、 最大データ長分しかメモリが確保されていません。 この現象は、TADOTable の仕様なのでしょうか? どなたか、ご教授の程宜しくお願いいたします。 [開発環境] Delphi2005 Pro DB : MySQL 5.0.0-alpha(MySQL ODBC 3.51 Driver DSN)
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.