Nie powiązałeś polecenia cmd
z twoim SqlConnection, dlatego otrzymujesz błąd.
Musisz określić:
cmd.Connection = con;
w swoim submitdata()
metoda.
Ponieważ SqlCommand implementuje IDisposable , lepiej, jeśli użyjesz go w ramach bloku, takiego jak:
using (SqlCommand cmd = new SqlCommand())
{
cmd.Parameters.Clear();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "insertdata";
cmd.Connection = con;
.... your code
}