J'ai 2 tables à savoir Profile et Info.Mettre à jour plusieurs tables
Ma table ressemblait à ceci:
PROFIL
| p_Id | FirstName | LastName |
| 1 | Jack | Cole |
| 2 | Cynthia | Cole |
| 3 | Robert | Cole |
INFO
| I_Id | childsID | fathersID | mothersID | Country |
| 1 | 1 | 3 | 2 | USA |
je récupérer les valeurs de ces tables en les affichant dans les zones de texte, ma requête de sélection est la suivante:
SELECT p.p_Id, p.FirstName, p.LastName, i.*,
(SELECT pp.FirstName+' '+pp.LastName FROM Profile pp WHERE pp.p_Id=i.childsID) AS child,
(SELECT pp.FirstName+' '+pp.LastName FROM Profile pp WHERE pp.p_Id=i.fathersID) AS father,
(SELECT pp.FirstName+' '+pp.LastName FROM Profile pp WHERE pp.p_Id=i.mothersID) AS mother
FROM Info i
INNER JOIN Profile p
ON p.p_Id=i.childsID
aucun problème avec certains, je suis en mesure d'afficher les valeurs sur les zones de texte, mais le problème est, je ne peux pas les mettre à jour, je l'ai essayé jusqu'à présent ceci:
using (SqlCommand cmd = con.CreateCommand())
{
con.Open();
cmd.CommandText = @"UPDATE Profile SET [email protected], [email protected] WHERE p_Id = @pid;
UPDATE Info SET [email protected], [email protected], [email protected], [email protected] WHERE I_Id = @iid;";
cmd.Parameters.Add(new SqlParameter("@fname", txtfname.Text));
cmd.Parameters.Add(new SqlParameter("@lname", txtlname.Text));
cmd.Parameters.Add(new SqlParameter("@child", txtchild.Text));
cmd.Parameters.Add(new SqlParameter("@father", txtfather.Text));
cmd.Parameters.Add(new SqlParameter("@mother", txtmother.Text));
cmd.Parameters.Add(new SqlParameter("@country", txtcountry.Text));
cmd.Parameters.Add(new SqlParameter("@pid", txtpid.Text));
cmd.Parameters.Add(new SqlParameter("@iid", txtiid.Text));
cmd.ExecuteNonQuery();
Response.Write("alert('DATA UPDATED')");
}
J'utilise C# et Asp. net Merci d'avance :) God Bless
Je ne suis pas sûr que ce soit une bonne idée de passer un lot d'instructions de mise à jour SQL dans le 'CommandText' d'un seul objet' SqlCommand' et les paramètres d'addition qui seront utilisés par toutes les mises à jour du lot. –
Cette question est affichée à plusieurs reprises, voir aussi http://stackoverflow.com/questions/16586456/update-query-with-multiple-tables et http://stackoverflow.com/questions/16588835/select-to-update – criticalfix