From ef23060601fc8c2c824c36a14ee4ca95e3ec786c Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Tue, 12 Jul 2011 17:55:19 +0000 Subject: [PATCH] Suppress error dialog when user lacks privilege for SHOW CREATE DATABASE. See http://www.heidisql.com/forum.php?t=8862 --- source/loaddata.pas | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/source/loaddata.pas b/source/loaddata.pas index 25dc8702..032b6e5e 100644 --- a/source/loaddata.pas +++ b/source/loaddata.pas @@ -168,13 +168,18 @@ begin Charset := MainForm.GetCharsetByEncoding(Encoding); // Detect db charset DefCharset := 'Let server/database decide'; - dbcreate := FConnection.GetVar('SHOW CREATE DATABASE '+FConnection.QuoteIdent(comboDatabase.Text), 1); - rx := TRegExpr.Create; - rx.ModifierG := True; - rx.Expression := 'CHARACTER SET (\w+)'; - if rx.Exec(dbcreate) then - DefCharset := DefCharset + ' ('+rx.Match[1]+')'; - comboEncoding.Items.Add(DefCharset); + try + dbcreate := FConnection.GetVar('SHOW CREATE DATABASE '+FConnection.QuoteIdent(comboDatabase.Text), 1); + rx := TRegExpr.Create; + rx.ModifierG := True; + rx.Expression := 'CHARACTER SET (\w+)'; + if rx.Exec(dbcreate) then + DefCharset := DefCharset + ' ('+rx.Match[1]+')'; + comboEncoding.Items.Add(DefCharset); + except + // Supress error dialog when user does not have privs for above SHOW query + // see http://www.heidisql.com/forum.php?t=8862 + end; CharsetTable := FConnection.CharsetTable; CharsetTable.First; while not CharsetTable.Eof do begin