From 210649f0d4c55b840fc5886fe41e7d4505fa5097 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 8 Feb 2010 17:38:05 +0000 Subject: Make an exception report more clear. Fix a database access in Presence to conform to the changes in the generic table handler. --- OpenSim/Data/MySQL/MySQLPresenceData.cs | 37 ++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 15 deletions(-) (limited to 'OpenSim/Data/MySQL') diff --git a/OpenSim/Data/MySQL/MySQLPresenceData.cs b/OpenSim/Data/MySQL/MySQLPresenceData.cs index 4950f7f..fcbe3d6 100644 --- a/OpenSim/Data/MySQL/MySQLPresenceData.cs +++ b/OpenSim/Data/MySQL/MySQLPresenceData.cs @@ -122,26 +122,33 @@ namespace OpenSim.Data.MySQL cmd.CommandText = String.Format("select * from {0} where UserID=?UserID", m_Realm); cmd.Parameters.AddWithValue("?UserID", userID); +; + using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) + { + dbcon.Open(); - using (IDataReader reader = cmd.ExecuteReader()) - { + cmd.Connection = dbcon; - List deleteSessions = new List(); - int online = 0; - - while(reader.Read()) + using (IDataReader reader = cmd.ExecuteReader()) { - if (bool.Parse(reader["Online"].ToString())) - online++; - else - deleteSessions.Add(new UUID(reader["SessionID"].ToString())); - } - if (online == 0 && deleteSessions.Count > 0) - deleteSessions.RemoveAt(0); + List deleteSessions = new List(); + int online = 0; + + while(reader.Read()) + { + if (bool.Parse(reader["Online"].ToString())) + online++; + else + deleteSessions.Add(new UUID(reader["SessionID"].ToString())); + } - foreach (UUID s in deleteSessions) - Delete("SessionID", s.ToString()); + if (online == 0 && deleteSessions.Count > 0) + deleteSessions.RemoveAt(0); + + foreach (UUID s in deleteSessions) + Delete("SessionID", s.ToString()); + } } } } -- cgit v1.1