mboost-dp1

MS SQL atomic query i C#


Gå til bund
Gravatar #1 - KC
1. jul. 2009 18:25
Jeg vil have 2 eller flere queries til at køre atomic på min asp.net c# side. Jeg har en tilknyttet MS SQL server.

Eksempel:
command.commandtext = INSERT INTO PlayersInGame VALUES (thisId, gameName, playerName, position);
command.ExecuteNonQuery();

command.commandtext = INSERT INTO Games VALUES (playerName, gameName);
command.ExecuteNonQuery();

Istedet for at køre dem en ad gangen vil jeg kunne være sikker på at de enten begge comitter eller ingen af dem comitter.

Skal jeg ud i noget nested query eller er der en bedre indbygget metode?
Gravatar #2 - arne_v
1. jul. 2009 18:36
#1

Brug transactions.

De er beregnet til den slags.
Gravatar #3 - arne_v
1. jul. 2009 18:39
Kode snippet:

SqlConnection con = new SqlConnection(constr);
con.Open();
SqlTransaction tx = con.BeginTransaction();
SqlCommand u1 = new SqlCommand("...", con);
u1.ExecuteNonQuery();
SqlCommand u2 = new SqlCommand("...", con);
u2.ExecuteNonQuery();
tx.Commit();
con.Close():
Gravatar #4 - arne_v
1. jul. 2009 18:40
tx.Rollback():

hvis du fortryder (f.eks. hvis en af opdateringerne fejler).
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login