TTableでSQLを使うには?


Sorasan  2004-07-28 04:26:01  No: 10123  IP: [192.*.*.*]

今、簡単なデータベースシステムを作っています。
そこで下記のようなプログラムを書いたところエラーが出ました

With MyTable do
    begin
      DatabaseName := MyDB.DatabaseName;
      TableName := 'アドレス帳';
      Active    := true;
      Edit;
      FieldByName('住所').AsString := '名古屋';
      Post;
    end;

MyTableはTTable
MyDBはTDataBaseです

エラー
プロジェクトAddress.exeがEDBEngineErrorクラスの例外を生成しました。
キー違反です。
[Microsoft][ODBC Microsoft Access Driver]クエリが複雑すぎます。

どなたかよろしくお願いします!!

編集    削除
HOta  2004-07-28 16:31:34  No: 10124  IP: [192.*.*.*]

ODBCを使われているようですが、ADOに換えてみたらどうでしょうか?

編集    削除
Sorasan  2004-07-28 18:23:20  No: 10125  IP: [192.*.*.*]

ADOですか。。。
いまいち、ODBC、ADO、DAO、OLE、BDEの位置付け
がよくわからないのですが、よいWEBサイトって
ありますかぁ??

編集    削除
HOta  2004-07-28 19:11:24  No: 10126  IP: [192.*.*.*]

ごっっちゃになっているようですね。
ADO,DAOはMicrosoftのデーターベースエンジンです。

DelphiではBDE,dbExpressで扱います。ADOはOLEでMicrosoftのAODを取り込んでいます。

先ほどのTTableですが、BDEからODBCに接続はOKでしょうか?
TDataBaseを直接プロパティエディターでConnectをTrueにすれば大丈夫でしょうか?
TTableを直接プロパティエディターで設定してActiveをTrueにしても、
エラーが出ますでしょうか?

順番に見ていけばエラー箇所がわかりますよ。

編集    削除