2012-07-11 2 views
0

Je dois sélectionner des données dans une table. Mon problème est: j'insère une ligne dans une table en utilisant sqltransactions. Cela verrouille la table une fois l'insertion exécutée. Je dois ensuite sélectionner les données de cette table pour une exécution ultérieure par ne pas pouvoir le faire. J'ai essayé d'utiliser nolock aussi, mais pas d'aide.Sélection de données lorsque la table est insérée avec sqltransaction

mon code est comme ça

Database.myConnection = new SqlConnection(Database.SQLConnectionString); 
Database.myConnection.Open(); 

Database.myTrans = Database.myConnection.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted, "SampleTransaction"); 
// Must assign both transaction object and connection 
// to Command object for a pending local transaction 
Database.myCommand = Database.myConnection.CreateCommand(); 
Database.myCommand.Connection = Database.myConnection; 
Database.myCommand.Transaction = Database.myTrans; 
Database.ExecuteSqlNonQuery("INSERT INTO customer(CustomerNo,CustomerName)VALUES('121','asd')"); 

Maintenant, je tente de sélectionner de la table des clients, mais il obtient deadlocked..I essayé avec la sélection nolock aussi, mais aucun résultat ..

+0

Je pense que vous avez besoin de nous dire ce que votre utiliser pour se connecter à la base de données est cette aC# question par exemple http://msdn.microsoft.com/en-us/library /system.data.sqlclient.sqltransaction.aspx –

+0

Fournissez également des exemples de ce à quoi ressemble votre code –

+0

Je me connecte à la base de données sql 2005 via C# .. – user1308182

Répondre

0

réutiliser votre objet de connexion pour à la fois le UPDATE et SELECT.

Lors de l'exécution de plusieurs mises à jour, il suffit de passer la connexion entre les méthodes. Assurez-vous d'envelopper une déclaration UTILISATION

using (SqlConnection Conn = new SqlConnection(...)) 
{ 
    Method1(conn); 
    Method2(conn); 
} 
Questions connexes