喫茶XRAYトップページ


[4744] JETデータベースの表名変更返信 削除
2011/5/12 (木) 16:14:58 Mr.XRAY
JETデータベースエンジンというのは,マイクロソフトのアクセス(Access)
というデータベース操作用アプリで使用されているDBです.

このデータベースの表名(テーブル名)を変更するサンプルです.
サンプルプログラム集の
[630_ADOでJETデータベースの新規作成と最適化]
http://mrxray.on.coocan.jp/Delphi/plSamples/630_CreateMDB.htm#list1
で作成したデータベースを対象とした場合です.このコードに追加して使用
できます.
動作確認環境等は,同サンプルと同じです.

JETエンジンでは,ALTER ... TABLE ... RENAMEは使用できません.

procedure TForm1.Button1Click(Sender: TObject);
var
  AUserName   : String;
  APassWord   : String;
  ConnectStr  : String;
  JET_Catalog : ADOX_TLB.Catalog;
begin
  //ユーザ名とパスワード
  AUserName := 'Mr.XRAY';
  APassWord := '123';

  //データベース名
  //作成するデータベース(ファイル)名はTEST.mdbとする
  //場所はこのプロジェクトのルート
  ADatabaseName := '..\TEST.mdb';

  //既にデータベースのファイルがある場合
  if FileExists(ADatabaseName) then begin
    ADOConnection1.Connected   := False;
    ADOConnection1.LoginPrompt := False;

    //ADOXのCatalogオブジェクトを生成
    JET_Catalog := ADOX_TLB.CoCatalog.Create;
    try
      //接続文字列を作成
      ConnectStr := MakeConnectString(ADatabaseName, APassWord);
      ADOConnection1.ConnectionString := ConnectStr;

      //ADOXのCatalog接続(アクティブ化?)
      JET_Catalog.Set_ActiveConnection(ConnectStr);

      //テーブル名変更
      JET_Catalog.Tables.Item['PERSON'].Name := 'ABC';
    finally
      JET_Catalog := nil;
    end;
  end;
end;

INCM/CMT
Cyclamen v3.82