Create database connection and run the insert, delete, update queries class-Update
You won't gain any advantage by using abbreviations for your parameter/variable names but you will loose readability. Therefor I would like to suggest to use more descriptive names. Otherwise you will come back in a couple of weeks/months and you will be wondering what e.g int _rc; should represent.  

This  


if (String.IsNullOrWhiteSpace(dbCmd))
{
    throw new ArgumentException("Invalid Connection String");
}



in your ExecuteCmd() method shows why copy&amp;pasta should be done in a wise way.  

In addition you never check if the passed in SqlParameter para is null. In a public method you should always validate all passed in parameters.

As DbConnection is implementing IDisposable you should enclose its usage into a using block. This would also remove the need to have a CloseConnection() method. Hence this would result in removing the IDbConSetup interface.

Instead of having a public OpenConnection method you could pass the connection string to the constructor and make the method private. In addition you won't really need the class level field private SqlConnection _dbconnect;. 

Methodlevel variables shouldn't be prefixed with an underscore. This is usually only done for class level variables.

A sample of a simplified DAL which still needs to be expanded.  

Note this isn't tested  

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;

public class SimplifiedDal
{
    private readonly DbProviderFactory dbFactory;
    private readonly string connectionString;
    public SimplifiedDal(string connectionString, string providerFactory)
    {
        if (string.IsNullOrWhiteSpace(connectionString))
        {
            throw new ArgumentException("Value may not be null or whitespace", "connectionString");
        }
        if (string.IsNullOrWhiteSpace(providerFactory))
        {
            throw new ArgumentException("Value may not be null or whitespace", "providerFactory");
        }
        dbFactory = DbProviderFactories.GetFactory(providerFactory);
        this.connectionString = connectionString;
    }
    public int ExecuteNonQuery(string sql, CommandType commandType, Dictionary&lt;string, object&gt; parameters)
    {
        if (string.IsNullOrWhiteSpace(sql))
        {
            throw new ArgumentException("Value may not be null or whitespace", "sql");
        }

        using (var connection = dbFactory.CreateConnection())
        {
            connection.ConnectionString = connectionString;
            connection.Open();
            using (var command = connection.CreateCommand())
            {
                AddParameters(command, parameters);
                return command.ExecuteNonQuery();
            }
        }
    }
    private void AddParameters(DbCommand command, Dictionary&lt;string, object&gt; parameters)
    {
        if (parameters == null || parameters.Count == 0) { return; }
        string dbFactoryName = dbFactory.GetType().Name;
        if (dbFactoryName == "OleDbFactory" || dbFactoryName == "OdbcFactory")
        {
            AddOleDbOdbcParameters(command, parameters);
            return;
        }

        string parameterPrefix = GetPrefixByFactoryName(dbFactoryName);
        foreach (var kvp in parameters)
        {
            var parameter = command.CreateParameter();
            parameter.ParameterName = parameterPrefix + kvp.Key;
            parameter.Value = kvp.Value;
            command.Parameters.Add(parameter);
        }
    }
    private string GetPrefixByFactoryName(string factoryName)
    {

        switch (factoryName)
        {
            case "SqlClientFactory":
                return "@";
            case "OracleClientFactory":
                return ":";
            case "MySqlClientFactory":
                return "?";
        }
        throw new NotImplementedException();
    }
    private void AddOleDbOdbcParameters(DbCommand command, Dictionary&lt;string, object&gt; parameters)
    {
        foreach (var kvp in parameters)
        {
            var parameter = command.CreateParameter();
            parameter.ParameterName = "?";
            parameter.Value = kvp.Value;
            command.Parameters.Add(parameter);
        }

    }

}  


which can be used like so 

//MS Access
var msConnectionString = "A MS Access connection string";
var msDal = new SimplifiedDal(msConnectionString, "System.Data.OleDb");

//MySql
var mysqlConnectionString = "A MySQL connection string";
var mysqlDal = new SimplifiedDal(mysqlConnectionString, "System.Data.OleDb");

//MS Sql
var sqlConnectionString = @"A Sql connection string";
var sqlDal = new SimplifiedDal(sqlConnectionString, "System.Data.SqlClient");  


you can easily check which factories are installed by using  

DataTable table = DbProviderFactories.GetFactoryClasses();