Je fais un projet de fréquentation d'université (Winforms, Mysql, C#)Comment simplifier la requête de mise à jour dans mysql?
Je veux mettre à jour 0 à P, 1 à Ab et 2 à OD dans toutes les colonnes de période. Pour cela, j'écris une boucle for et trois requête de mise à jour.
Est-ce une idée possible de le faire en une seule requête?
S'il vous plaît aidez-moi ...
for (int i = 1; i <= 8; i++)
{
string period = "Period" + i;
string t1p = period1;
command.CommandText = "update attendance_daily_rpt set " + t1p + " = 'P' where " + t1p + " = 0";
connection.Open();
command.ExecuteNonQuery();
connection.Close();
command.CommandText = "update attendance_daily_rpt set " + t1p + " = 'Ab' where " + t1p + " = 1";
connection.Open();
command.ExecuteNonQuery();
connection.Close();
command.CommandText = "update attendance_daily_rpt set " + t1p + " = 'OD' where " + t1p + " = 2";
connection.Open();
command.ExecuteNonQuery();
connection.Close();
}
Merci à l'avance ...
mettre à jour avec votre idée, .. Command.CommandText = "update attendance_daily_rpt set" + T1P + "= '0 cas où' puis 'P' quand '1' puis ' AB 'QUAND' 2 'PUIS' FIN '; connection.Open(); command.ExecuteNonQuery(); connection.Fermer(); Mais toutes les colonnes de 0,1,2 sont mises à jour 'AB' seulement. Quelle erreur j'ai faite dans cette requête. – Sagotharan
essayer de changer CASE à CASE t1p – sll
Je ne peux pas obtenir sll. Je ne connais pas ce concept de CAS dans mysql. Mieux, je lis la syntaxe. Merci. Si j'ai eu je commente ici. – Sagotharan