0

データベース パスをプログラムで変更したいと考えています。複数のテーブルを含むフォルダーがあり、ユーザーはあるデータベースから別のデータベースに変更できる必要があります。例: active db: D:\app_db\db1 は D:\app_db\db2 に変更できます。

 void change_db(std::string dir)
 { 
  char c[MAX_PATH]={0};  
  TStringList *list= new TStringList();
  list->Clear();
  sprintf(c,"PATH=%s",dir.c_str());
  list->Add(c);
  Session->ModifyAlias(dbalias,list);
  delete list;
  Table1->DatabaseName = dbalias;
}      

上記のルーチンを実行すると、テーブルにはまだ古いパスが含まれています!

Table1->Database->Directory = c;

ディレクトリを新しいディレクトリに設定しましたが、アプリケーションはまだ古いテーブルを使用しています。

ここで何が問題なのですか?

ありがとう

4

1 に答える 1