データベース パスをプログラムで変更したいと考えています。複数のテーブルを含むフォルダーがあり、ユーザーはあるデータベースから別のデータベースに変更できる必要があります。例: 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;
ディレクトリを新しいディレクトリに設定しましたが、アプリケーションはまだ古いテーブルを使用しています。
ここで何が問題なのですか?
ありがとう