我希望这不是一些令人尴尬的用户错误,但这里有:
我想更改连接的数据库参数并重新打开它。此代码继续显示(并允许编辑)原始表连接而不是刷新。是否有某种'冲洗'或刷新我必须打电话?
dmMain.conMain.close;
dmMain.conMain.Params.Values['Database'] := secondDatabase;
dmMain.conMain.Open;
dmMain.tblTimings.Active := true;
我随后尝试了conMain.Connected:= false无效。
答案 0 :(得分:1)
这不应该发生(所有链接的数据集都应该关闭),所以我称之为一个错误(你在代码中正确地做到了)。请参阅Close方法说明:
<强> TCustomConnection.Close 强>
关闭连接。
调用“关闭”以断开与远程数据库源的连接 信息。在取消激活连接组件之前,全部 相关数据集已关闭。调用关闭与设置相同 Connected属性为false。
在大多数情况下,关闭连接会释放分配的系统资源 连接。
注意:如果先前活动的连接已关闭然后重新打开, 必须单独重新打开任何关联的数据集;重新开放 连接不会自动重新打开关联的数据集。
答案 1 :(得分:-3)
根据Delphi文档,您需要ATTACH
第二个数据库到现有连接。
dmMain.ConMain.ExecSQL('ATTACH '+QuotedStr(secondDatabase)+ ' as SecondDB');
要删除数据库,请使用DETACH
完整文档在此处:http://docwiki.embarcadero.com/RADStudio/Seattle/en/Using_SQLite_with_FireDAC