C# insert BDD a partir d'une autre.
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je fais une appli qui au lancement va chercher le contenu d'une base de données MySQL distante, cette table contient environ 1000 enregistrements, le pb c'est que ca plante et je n'ai pas d'exeption.
Voici le code:
MySqlCommand commandServer2 = connMySQL.CreateCommand();
commandServer2.CommandText = "SELECT ID, TitreVF, TitreVO, Genre, Annee, Duree, Synopsis, Acteurs, Realisateurs, EntreeDate, BAChemin, MediaChemin FROM films";
connMySQL.Open();
MySqlDataReader readerMySQL = commandServer2.ExecuteReader();
while (readerMySQL.Read())
{
SqlCeCommand commandLocal2 = connSQL.CreateCommand();
commandLocal2.CommandText = "SELECT COUNT(ID) FROM films WHERE ID = "+ readerMySQL["ID"].ToString() +"";
connSQL.Open();
if(Convert.ToInt32(commandLocal2.ExecuteScalar())==0)
{
SqlCeCommand commandLocalInsert = connSQL.CreateCommand();
commandLocalInsert.CommandText = "INSERT INTO films (TitreVF, TitreVO, Genre, Annee, Duree, Synopsis, Acteurs, Realisateurs, EntreeDate, BAChemin, MediaChemin, ID) VALUES (@TitreVF,@TitreVO,@Genre,@Annee,@Duree,@Synopsis,@Acteurs,@Realisateurs,@EntreeDate,@BAChemin,@MediaChemin,@ID)";
//Préparation des paramètres
SqlCeParameter paramTitreVF = new SqlCeParameter("@TitreVF", SqlDbType.NVarChar, 255);
paramTitreVF.Value = readerMySQL["TitreVF"];
commandLocalInsert.Parameters.Add(paramTitreVF);
SqlCeParameter paramTitreVO = new SqlCeParameter("@TitreVO", SqlDbType.NVarChar, 255);
paramTitreVO.Value = readerMySQL["TitreVO"];
commandLocalInsert.Parameters.Add(paramTitreVO);
SqlCeParameter paramGenre = new SqlCeParameter("@Genre", SqlDbType.NVarChar, 50);
paramGenre.Value = readerMySQL["Genre"];
commandLocalInsert.Parameters.Add(paramGenre);
SqlCeParameter paramAnnee = new SqlCeParameter("@Annee", SqlDbType.NVarChar, 10);
paramAnnee.Value = readerMySQL["Annee"];
commandLocalInsert.Parameters.Add(paramAnnee);
SqlCeParameter paramDuree = new SqlCeParameter("@Duree", SqlDbType.Int, 4);
paramDuree.Value = readerMySQL["Duree"];
commandLocalInsert.Parameters.Add(paramDuree);
SqlCeParameter paramSynopsis = new SqlCeParameter("@Synopsis", SqlDbType.NText, 16);
paramSynopsis.Value = readerMySQL["Synopsis"];
commandLocalInsert.Parameters.Add(paramSynopsis);
SqlCeParameter paramActeurs = new SqlCeParameter("@Acteurs", SqlDbType.NText, 16);
paramActeurs.Value = readerMySQL["Acteurs"];
commandLocalInsert.Parameters.Add(paramActeurs);
SqlCeParameter paramRealisateurs = new SqlCeParameter("@Realisateurs", SqlDbType.NText, 16);
paramRealisateurs.Value = readerMySQL["Realisateurs"];
commandLocalInsert.Parameters.Add(paramRealisateurs);
SqlCeParameter paramEntreeDate = new SqlCeParameter("@EntreeDate", SqlDbType.DateTime, 8);
paramEntreeDate.Value = readerMySQL["EntreeDate"];
commandLocalInsert.Parameters.Add(paramEntreeDate);
SqlCeParameter paramBAChemin = new SqlCeParameter("@BAChemin", SqlDbType.NVarChar, 255);
paramBAChemin.Value = readerMySQL["BAChemin"];
commandLocalInsert.Parameters.Add(paramBAChemin);
SqlCeParameter paramMediaChemin = new SqlCeParameter("@MediaChemin", SqlDbType.NVarChar, 255);
paramMediaChemin.Value = readerMySQL["MediaChemin"];
commandLocalInsert.Parameters.Add(paramMediaChemin);
SqlCeParameter paramID = new SqlCeParameter("@ID", SqlDbType.BigInt, 8);
paramID.Value = readerMySQL["ID"];
commandLocalInsert.Parameters.Add(paramID);
commandLocalInsert.ExecuteNonQuery();
}
else
{
}
connSQL.Close();
}
connMySQL.Close();
Je fais une appli qui au lancement va chercher le contenu d'une base de données MySQL distante, cette table contient environ 1000 enregistrements, le pb c'est que ca plante et je n'ai pas d'exeption.
Voici le code:
MySqlCommand commandServer2 = connMySQL.CreateCommand();
commandServer2.CommandText = "SELECT ID, TitreVF, TitreVO, Genre, Annee, Duree, Synopsis, Acteurs, Realisateurs, EntreeDate, BAChemin, MediaChemin FROM films";
connMySQL.Open();
MySqlDataReader readerMySQL = commandServer2.ExecuteReader();
while (readerMySQL.Read())
{
SqlCeCommand commandLocal2 = connSQL.CreateCommand();
commandLocal2.CommandText = "SELECT COUNT(ID) FROM films WHERE ID = "+ readerMySQL["ID"].ToString() +"";
connSQL.Open();
if(Convert.ToInt32(commandLocal2.ExecuteScalar())==0)
{
SqlCeCommand commandLocalInsert = connSQL.CreateCommand();
commandLocalInsert.CommandText = "INSERT INTO films (TitreVF, TitreVO, Genre, Annee, Duree, Synopsis, Acteurs, Realisateurs, EntreeDate, BAChemin, MediaChemin, ID) VALUES (@TitreVF,@TitreVO,@Genre,@Annee,@Duree,@Synopsis,@Acteurs,@Realisateurs,@EntreeDate,@BAChemin,@MediaChemin,@ID)";
//Préparation des paramètres
SqlCeParameter paramTitreVF = new SqlCeParameter("@TitreVF", SqlDbType.NVarChar, 255);
paramTitreVF.Value = readerMySQL["TitreVF"];
commandLocalInsert.Parameters.Add(paramTitreVF);
SqlCeParameter paramTitreVO = new SqlCeParameter("@TitreVO", SqlDbType.NVarChar, 255);
paramTitreVO.Value = readerMySQL["TitreVO"];
commandLocalInsert.Parameters.Add(paramTitreVO);
SqlCeParameter paramGenre = new SqlCeParameter("@Genre", SqlDbType.NVarChar, 50);
paramGenre.Value = readerMySQL["Genre"];
commandLocalInsert.Parameters.Add(paramGenre);
SqlCeParameter paramAnnee = new SqlCeParameter("@Annee", SqlDbType.NVarChar, 10);
paramAnnee.Value = readerMySQL["Annee"];
commandLocalInsert.Parameters.Add(paramAnnee);
SqlCeParameter paramDuree = new SqlCeParameter("@Duree", SqlDbType.Int, 4);
paramDuree.Value = readerMySQL["Duree"];
commandLocalInsert.Parameters.Add(paramDuree);
SqlCeParameter paramSynopsis = new SqlCeParameter("@Synopsis", SqlDbType.NText, 16);
paramSynopsis.Value = readerMySQL["Synopsis"];
commandLocalInsert.Parameters.Add(paramSynopsis);
SqlCeParameter paramActeurs = new SqlCeParameter("@Acteurs", SqlDbType.NText, 16);
paramActeurs.Value = readerMySQL["Acteurs"];
commandLocalInsert.Parameters.Add(paramActeurs);
SqlCeParameter paramRealisateurs = new SqlCeParameter("@Realisateurs", SqlDbType.NText, 16);
paramRealisateurs.Value = readerMySQL["Realisateurs"];
commandLocalInsert.Parameters.Add(paramRealisateurs);
SqlCeParameter paramEntreeDate = new SqlCeParameter("@EntreeDate", SqlDbType.DateTime, 8);
paramEntreeDate.Value = readerMySQL["EntreeDate"];
commandLocalInsert.Parameters.Add(paramEntreeDate);
SqlCeParameter paramBAChemin = new SqlCeParameter("@BAChemin", SqlDbType.NVarChar, 255);
paramBAChemin.Value = readerMySQL["BAChemin"];
commandLocalInsert.Parameters.Add(paramBAChemin);
SqlCeParameter paramMediaChemin = new SqlCeParameter("@MediaChemin", SqlDbType.NVarChar, 255);
paramMediaChemin.Value = readerMySQL["MediaChemin"];
commandLocalInsert.Parameters.Add(paramMediaChemin);
SqlCeParameter paramID = new SqlCeParameter("@ID", SqlDbType.BigInt, 8);
paramID.Value = readerMySQL["ID"];
commandLocalInsert.Parameters.Add(paramID);
commandLocalInsert.ExecuteNonQuery();
}
else
{
}
connSQL.Close();
}
connMySQL.Close();
A voir également:
- C# insert BDD a partir d'une autre.
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Touche insert - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Créer une icone à partir d'une image - Guide
- Créer une vidéo à partir de photos - Guide
2 réponses
Slt,
Fais sa
avec un point d'arret sur le throw et poste mois tout le message d'erreur avec le stacktrace
Fais sa
try { MySqlCommand commandServer2 = connMySQL.CreateCommand(); commandServer2.CommandText = "SELECT ID, TitreVF, TitreVO, Genre, Annee, Duree, Synopsis, Acteurs, Realisateurs, EntreeDate, BAChemin, MediaChemin FROM films"; connMySQL.Open(); MySqlDataReader readerMySQL = commandServer2.ExecuteReader(); while (readerMySQL.Read()) { SqlCeCommand commandLocal2 = connSQL.CreateCommand(); commandLocal2.CommandText = "SELECT COUNT(ID) FROM films WHERE ID = " + readerMySQL["ID"].ToString() + ""; connSQL.Open(); if (Convert.ToInt32(commandLocal2.ExecuteScalar()) == 0) { SqlCeCommand commandLocalInsert = connSQL.CreateCommand(); commandLocalInsert.CommandText = "INSERT INTO films (TitreVF, TitreVO, Genre, Annee, Duree, Synopsis, Acteurs, Realisateurs, EntreeDate, BAChemin, MediaChemin, ID) VALUES (@TitreVF,@TitreVO,@Genre,@Annee,@Duree,@Synopsis,@Acteurs,@Realisateurs,@EntreeDate,@BAChemin,@MediaChemin,@ID)"; //Préparation des paramètres SqlCeParameter paramTitreVF = new SqlCeParameter("@TitreVF", SqlDbType.NVarChar, 255); paramTitreVF.Value = readerMySQL["TitreVF"]; commandLocalInsert.Parameters.Add(paramTitreVF); SqlCeParameter paramTitreVO = new SqlCeParameter("@TitreVO", SqlDbType.NVarChar, 255); paramTitreVO.Value = readerMySQL["TitreVO"]; commandLocalInsert.Parameters.Add(paramTitreVO); SqlCeParameter paramGenre = new SqlCeParameter("@Genre", SqlDbType.NVarChar, 50); paramGenre.Value = readerMySQL["Genre"]; commandLocalInsert.Parameters.Add(paramGenre); SqlCeParameter paramAnnee = new SqlCeParameter("@Annee", SqlDbType.NVarChar, 10); paramAnnee.Value = readerMySQL["Annee"]; commandLocalInsert.Parameters.Add(paramAnnee); SqlCeParameter paramDuree = new SqlCeParameter("@Duree", SqlDbType.Int, 4); paramDuree.Value = readerMySQL["Duree"]; commandLocalInsert.Parameters.Add(paramDuree); SqlCeParameter paramSynopsis = new SqlCeParameter("@Synopsis", SqlDbType.NText, 16); paramSynopsis.Value = readerMySQL["Synopsis"]; commandLocalInsert.Parameters.Add(paramSynopsis); SqlCeParameter paramActeurs = new SqlCeParameter("@Acteurs", SqlDbType.NText, 16); paramActeurs.Value = readerMySQL["Acteurs"]; commandLocalInsert.Parameters.Add(paramActeurs); SqlCeParameter paramRealisateurs = new SqlCeParameter("@Realisateurs", SqlDbType.NText, 16); paramRealisateurs.Value = readerMySQL["Realisateurs"]; commandLocalInsert.Parameters.Add(paramRealisateurs); SqlCeParameter paramEntreeDate = new SqlCeParameter("@EntreeDate", SqlDbType.DateTime, 8); paramEntreeDate.Value = readerMySQL["EntreeDate"]; commandLocalInsert.Parameters.Add(paramEntreeDate); SqlCeParameter paramBAChemin = new SqlCeParameter("@BAChemin", SqlDbType.NVarChar, 255); paramBAChemin.Value = readerMySQL["BAChemin"]; commandLocalInsert.Parameters.Add(paramBAChemin); SqlCeParameter paramMediaChemin = new SqlCeParameter("@MediaChemin", SqlDbType.NVarChar, 255); paramMediaChemin.Value = readerMySQL["MediaChemin"]; commandLocalInsert.Parameters.Add(paramMediaChemin); SqlCeParameter paramID = new SqlCeParameter("@ID", SqlDbType.BigInt, 8); paramID.Value = readerMySQL["ID"]; commandLocalInsert.Parameters.Add(paramID); commandLocalInsert.ExecuteNonQuery(); } } } catch (Exception) { throw; } finally { connSQL.Close(); connMySQL.Close(); }
avec un point d'arret sur le throw et poste mois tout le message d'erreur avec le stacktrace