uses OleDB, ActiveX, ComObj;
var
DataInit: IDataInitialize; //定义接口
SouPath, SouStr, DesStr: POleStr;
tmp, s1, s2: string;
begin
tmp := 'C:\Program Files\Common Files\System\Ole DB\Data Links\ShichADOConfig.UDL';
SouPath := StringToOleStr(tmp);
DataInit := CreateComObject(CLSID_DATALINKS) as IDataInitialize; //创建接口
DataInit.LoadStringFromStorage(SouPath, SouStr);
s1 := WideCharToString(SouStr);
s2 := Copy(SouStr, 0, Pos('Initial Catalog=',s1) - 1);
s1 := Copy(SouStr, Pos('Initial Catalog=', s1) , Length(SouStr) - Pos('Initial Catalog=',s1) +1 );
s1 := Copy(s1, Pos(';', s1), Length(s1)- Pos(';', s1) +1 );
s2 := s2 + 'Initial Catalog=好记' + s1;
DesStr := StringToOleStr(s2);
if DeleteFile(tmp) then
DataInit.WriteStringToStorage(SouPath, DesStr, 1);
DataInit := nil; //释放
end;