diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/Data.MySQL/MySQLManager.cs | 58 |
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 | { |