public static int ExecuteTableAdd(string connectionString, CommandType cmdType, string cmdText, DataTable dt)
        {
            int rst = 1;
            DbCommand cmd = Provider.CreateCommand();

            using (DbConnection connection = Provider.CreateConnection())
            {
                try
                {
                    connection.ConnectionString = connectionString;
                    PrepareCommand(cmd, connection, null, cmdType, cmdText, null);
                    DbDataAdapter ap = Provider.CreateDataAdapter();
                    ap.SelectCommand = cmd;

                    //DbCommandBuilder dbcmd = new System.Data.OleDb.OleDbCommandBuilder();
                    DbCommandBuilder dbcmd = Provider.CreateDbCommandBuilder();
                    dbcmd.DataAdapter = ap;
                    ap.Update(dt);
                    cmd.Parameters.Clear();

                }
                catch (Exception ex)
                {
                    rst = -1;
                    throw;
                }
                finally
                {
                    if (connection.State == ConnectionState.Open)
                    {
                        connection.Close();
                    }
                    connection.Dispose();
                }
            }

            return rst;
        }