aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Data.MySQL/MySQLManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/Data.MySQL/MySQLManager.cs')
-rw-r--r--OpenSim/Framework/Data.MySQL/MySQLManager.cs58
1 files changed, 23 insertions, 35 deletions
diff --git a/OpenSim/Framework/Data.MySQL/MySQLManager.cs b/OpenSim/Framework/Data.MySQL/MySQLManager.cs
index e55606e..5037f98 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLManager.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLManager.cs
@@ -41,7 +41,7 @@ namespace OpenSim.Framework.Data.MySQL
41 /// <summary> 41 /// <summary>
42 /// The database connection object 42 /// The database connection object
43 /// </summary> 43 /// </summary>
44 MySqlConnection dbcon; 44 IDbConnection dbcon;
45 /// <summary> 45 /// <summary>
46 /// Connection string for ADO.net 46 /// Connection string for ADO.net
47 /// </summary> 47 /// </summary>
@@ -115,11 +115,10 @@ namespace OpenSim.Framework.Data.MySQL
115 { 115 {
116 MySqlCommand dbcommand = (MySqlCommand)dbcon.CreateCommand(); 116 MySqlCommand dbcommand = (MySqlCommand)dbcon.CreateCommand();
117 dbcommand.CommandText = sql; 117 dbcommand.CommandText = sql;
118 if(parameters != null) 118 foreach (KeyValuePair<string, string> param in parameters)
119 foreach (KeyValuePair<string, string> param in parameters) 119 {
120 { 120 dbcommand.Parameters.Add(param.Key, param.Value);
121 dbcommand.Parameters.Add(param.Key, param.Value); 121 }
122 }
123 122
124 return (IDbCommand)dbcommand; 123 return (IDbCommand)dbcommand;
125 } 124 }
@@ -150,11 +149,10 @@ namespace OpenSim.Framework.Data.MySQL
150 { 149 {
151 MySqlCommand dbcommand = (MySqlCommand)dbcon.CreateCommand(); 150 MySqlCommand dbcommand = (MySqlCommand)dbcon.CreateCommand();
152 dbcommand.CommandText = sql; 151 dbcommand.CommandText = sql;
153 if(parameters != null) 152 foreach (KeyValuePair<string, string> param in parameters)
154 foreach (KeyValuePair<string, string> param in parameters) 153 {
155 { 154 dbcommand.Parameters.Add(param.Key, param.Value);
156 dbcommand.Parameters.Add(param.Key, param.Value); 155 }
157 }
158 156
159 return (IDbCommand)dbcommand; 157 return (IDbCommand)dbcommand;
160 } 158 }
@@ -372,8 +370,6 @@ namespace OpenSim.Framework.Data.MySQL
372 folder.parentID = new LLUUID((string)reader["parentFolderID"]); 370 folder.parentID = new LLUUID((string)reader["parentFolderID"]);
373 folder.folderID = new LLUUID((string)reader["folderID"]); 371 folder.folderID = new LLUUID((string)reader["folderID"]);
374 folder.name = (string)reader["folderName"]; 372 folder.name = (string)reader["folderName"];
375 folder.category = (InventoryCategory)((Int16)reader["category"]);
376 folder.type = (Int16)reader["folderType"];
377 373
378 rows.Add(folder); 374 rows.Add(folder);
379 } 375 }
@@ -513,32 +509,24 @@ namespace OpenSim.Framework.Data.MySQL
513 /// <returns>Success?</returns> 509 /// <returns>Success?</returns>
514 public bool insertFolder(InventoryFolderBase folder) 510 public bool insertFolder(InventoryFolderBase folder)
515 { 511 {
516 string sql = "REPLACE INTO inventoryfolders (folderID, agentID, parentFolderID, folderName, category, folderType) VALUES "; 512 string sql = "REPLACE INTO inventoryfolders (folderID, agentID, parentFolderID, folderName) VALUES ";
517 sql += "(?folderID, ?agentID, ?parentFolderID, ?folderName, ?category, ?folderType)"; 513 sql += "(?folderID, ?agentID, ?parentFolderID, ?folderName)";
518 514
519 MySqlCommand dbcmd = dbcon.CreateCommand(); 515 Dictionary<string, string> parameters = new Dictionary<string, string>();
520 dbcmd.CommandText = sql; 516 parameters["?folderID"] = folder.folderID.ToStringHyphenated();
521 517 parameters["?agentID"] = folder.agentID.ToStringHyphenated();
522 LLUUID tmpID = folder.folderID; 518 parameters["?parentFolderID"] = folder.parentID.ToStringHyphenated();
523 dbcmd.Parameters.Add(new MySqlParameter("?folderID", tmpID.ToStringHyphenated())); 519 parameters["?folderName"] = folder.name;
524 dbcmd.Parameters.Add(new MySqlParameter("?folderID", tmpID.ToStringHyphenated())); 520
525 tmpID = folder.agentID;
526 dbcmd.Parameters.Add(new MySqlParameter("?agentID", tmpID.ToStringHyphenated()));
527 tmpID = folder.parentID;
528 dbcmd.Parameters.Add(new MySqlParameter("?parentFolderID", tmpID.ToStringHyphenated()));
529 dbcmd.Parameters.Add(new MySqlParameter("?folderName", folder.name));
530 MySqlParameter p = dbcmd.Parameters.Add(new MySqlParameter("?category", MySqlDbType.Byte));
531 p.Value = (byte)folder.category;
532
533 p = dbcmd.Parameters.Add(new MySqlParameter("?folderType", MySqlDbType.Byte));
534 p.Value = (byte)folder.type;
535
536
537 bool returnval = false; 521 bool returnval = false;
538 try 522 try
539 { 523 {
540 if (dbcmd.ExecuteNonQuery() == 1) 524 IDbCommand result = Query(sql, parameters);
525
526 if (result.ExecuteNonQuery() == 1)
541 returnval = true; 527 returnval = true;
528
529 result.Dispose();
542 } 530 }
543 catch (Exception e) 531 catch (Exception e)
544 { 532 {