diff --git a/source/dbconnection.pas b/source/dbconnection.pas index 57a26d1c..6a00e70b 100644 --- a/source/dbconnection.pas +++ b/source/dbconnection.pas @@ -3070,7 +3070,7 @@ begin EscapeFunction := 'E' else EscapeFunction := ''; - rx.Expression := StringReplace(rx.Expression, '%s', EscapeFunction+'['+Quotes+']?(.+)['+Quotes+']?', [rfReplaceAll]); + rx.Expression := StringReplace(rx.Expression, '%s', EscapeFunction+'['+Quotes+']?([^'+Quotes+']+)['+Quotes+']*', [rfReplaceAll]); if rx.Exec(SQL) then begin FDatabase := Trim(rx.Match[1]); FDatabase := DeQuoteIdent(FDatabase);