protected override IDbCommand CreateCommand(string sqlQuery, CSParameterCollection parameters)
        {
            VistaDBCommand sqlCommand = (VistaDBCommand)Connection.CreateCommand();

            sqlCommand.Transaction = (VistaDBTransaction)CurrentTransaction;

            if (sqlQuery.StartsWith("!"))
            {
                sqlCommand.CommandType = CommandType.StoredProcedure;
                sqlCommand.CommandText = sqlQuery.Substring(1);
            }
            else
            {
                sqlCommand.CommandType = CommandType.Text;
                sqlCommand.CommandText = sqlQuery;
            }

            if (parameters != null && !parameters.IsEmpty)
            {
                foreach (CSParameter csParameter in parameters)
                {
                    IDbDataParameter dataParameter = sqlCommand.CreateParameter();

                    dataParameter.ParameterName = csParameter.Name;
                    dataParameter.Direction     = ParameterDirection.Input;
                    dataParameter.Value         = ConvertParameter(csParameter.Value);

                    sqlCommand.Parameters.Add(dataParameter);
                }
            }

            return(sqlCommand);
        }