DataTable ISqler.Execute(string sqlText, int start, int limit, params object[] paramers) { var sl = sqlText.Length; sqlText = dbProvider.GetPaginationText(start, limit, sqlText); var isP = sl == sqlText.Length; return((DataTable)Progress(cmd => { var d = dbProvider.DbFactory.CreateDataAdapter(); try { d.SelectCommand = cmd; System.Data.DataTable tab = new DataTable(); if (isP) { d.Fill(start, limit, tab); } else { d.Fill(tab); } return tab; } finally { d.Dispose(); } }, sqlText, paramers)); }