Inserting an entire form into MySQL database Please review this.

public int InsertQuery(string Query)
{
    int LastInsertedID = -1;
    MySqlCommand MySqlCmd = new MySqlCommand(Query, this.sqlConn);
    try
    {
        MySqlCmd.ExecuteNonQuery();
        LastInsertedID = int.Parse(MySqlCmd.LastInsertedId.ToString());
    }
    catch (Exception excp)
    {
        Exception myExcp = new Exception("Could not execute INSERT Query.&lt;br /&gt;" + Query + "&lt;br /&gt; Error: &lt;br /&gt;" + excp.Message, excp);
        throw (myExcp);
    }
    return LastInsertedID;
}

public int AddChannel(NameValueCollection FormValues)
{
    string Keys = string.Join(",",FormValues.AllKeys);

    string Values = string.Join(",", FormValues.AllKeys.Select(key =&gt; String.Format("\"{0}\"", HttpContext.Current.Server.HtmlEncode(FormValues[key]))));
    return InsertQuery("INSERT INTO channels (" + Keys + ") VALUES (" + Values + ");");
}
Don't take shortcuts. Build a proper insert statement using a parameterized query and validate each of the form inputs that they're also of the proper type (ie., not sending a string into an integer field). 

Do this to protect the integrity of your data, both from improper types and from malicious (or even unintended) attacks. 

See this and other related questions on SO for constructing proper parameterized queries with MySql.

More than that, you don't want your class that deals with data inserts to also interact with your UI. These concerns should be seperated. Seperate your UI code from your business logic code from your data access code. Don't let these things mingle, because your UI could change, your logic could change, and your data strategy could change, and they could change independently.