From 8143c597fc5f62ec0d931d2d5b887730e06aec04 Mon Sep 17 00:00:00 2001 From: lbsa71 Date: Thu, 27 Sep 2007 13:25:45 +0000 Subject: * Tleiades grid mode inventory (#444) - thanx Tleiades! * updated to rev 1413 on libsecondlife.dll and libsecondlife.dll.config (#423) --- OpenSim/Framework/Data.MySQL/MySQLManager.cs | 58 +++++++++++++++++----------- 1 file changed, 35 insertions(+), 23 deletions(-) (limited to 'OpenSim/Framework/Data.MySQL/MySQLManager.cs') diff --git a/OpenSim/Framework/Data.MySQL/MySQLManager.cs b/OpenSim/Framework/Data.MySQL/MySQLManager.cs index 5037f98..e55606e 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLManager.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLManager.cs @@ -41,7 +41,7 @@ namespace OpenSim.Framework.Data.MySQL /// /// The database connection object /// - IDbConnection dbcon; + MySqlConnection dbcon; /// /// Connection string for ADO.net /// @@ -115,10 +115,11 @@ namespace OpenSim.Framework.Data.MySQL { MySqlCommand dbcommand = (MySqlCommand)dbcon.CreateCommand(); dbcommand.CommandText = sql; - foreach (KeyValuePair param in parameters) - { - dbcommand.Parameters.Add(param.Key, param.Value); - } + if(parameters != null) + foreach (KeyValuePair param in parameters) + { + dbcommand.Parameters.Add(param.Key, param.Value); + } return (IDbCommand)dbcommand; } @@ -149,10 +150,11 @@ namespace OpenSim.Framework.Data.MySQL { MySqlCommand dbcommand = (MySqlCommand)dbcon.CreateCommand(); dbcommand.CommandText = sql; - foreach (KeyValuePair param in parameters) - { - dbcommand.Parameters.Add(param.Key, param.Value); - } + if(parameters != null) + foreach (KeyValuePair param in parameters) + { + dbcommand.Parameters.Add(param.Key, param.Value); + } return (IDbCommand)dbcommand; } @@ -370,6 +372,8 @@ namespace OpenSim.Framework.Data.MySQL folder.parentID = new LLUUID((string)reader["parentFolderID"]); folder.folderID = new LLUUID((string)reader["folderID"]); folder.name = (string)reader["folderName"]; + folder.category = (InventoryCategory)((Int16)reader["category"]); + folder.type = (Int16)reader["folderType"]; rows.Add(folder); } @@ -509,24 +513,32 @@ namespace OpenSim.Framework.Data.MySQL /// Success? public bool insertFolder(InventoryFolderBase folder) { - string sql = "REPLACE INTO inventoryfolders (folderID, agentID, parentFolderID, folderName) VALUES "; - sql += "(?folderID, ?agentID, ?parentFolderID, ?folderName)"; - - Dictionary parameters = new Dictionary(); - parameters["?folderID"] = folder.folderID.ToStringHyphenated(); - parameters["?agentID"] = folder.agentID.ToStringHyphenated(); - parameters["?parentFolderID"] = folder.parentID.ToStringHyphenated(); - parameters["?folderName"] = folder.name; - + string sql = "REPLACE INTO inventoryfolders (folderID, agentID, parentFolderID, folderName, category, folderType) VALUES "; + sql += "(?folderID, ?agentID, ?parentFolderID, ?folderName, ?category, ?folderType)"; + + MySqlCommand dbcmd = dbcon.CreateCommand(); + dbcmd.CommandText = sql; + + LLUUID tmpID = folder.folderID; + dbcmd.Parameters.Add(new MySqlParameter("?folderID", tmpID.ToStringHyphenated())); + dbcmd.Parameters.Add(new MySqlParameter("?folderID", tmpID.ToStringHyphenated())); + tmpID = folder.agentID; + dbcmd.Parameters.Add(new MySqlParameter("?agentID", tmpID.ToStringHyphenated())); + tmpID = folder.parentID; + dbcmd.Parameters.Add(new MySqlParameter("?parentFolderID", tmpID.ToStringHyphenated())); + dbcmd.Parameters.Add(new MySqlParameter("?folderName", folder.name)); + MySqlParameter p = dbcmd.Parameters.Add(new MySqlParameter("?category", MySqlDbType.Byte)); + p.Value = (byte)folder.category; + + p = dbcmd.Parameters.Add(new MySqlParameter("?folderType", MySqlDbType.Byte)); + p.Value = (byte)folder.type; + + bool returnval = false; try { - IDbCommand result = Query(sql, parameters); - - if (result.ExecuteNonQuery() == 1) + if (dbcmd.ExecuteNonQuery() == 1) returnval = true; - - result.Dispose(); } catch (Exception e) { -- cgit v1.1