aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Data/MySQL/MySQLGenericTableHandler.cs')
-rw-r--r--OpenSim/Data/MySQL/MySQLGenericTableHandler.cs27
1 files changed, 6 insertions, 21 deletions
diff --git a/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs b/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs
index 754cf72..cfffbd8 100644
--- a/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs
+++ b/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs
@@ -264,33 +264,18 @@ namespace OpenSim.Data.MySQL
264 } 264 }
265 } 265 }
266 266
267 public virtual bool Delete(string field, string key) 267 public virtual bool Delete(string field, string val)
268 { 268 {
269 return Delete(new string[] { field }, new string[] { key });
270 }
271
272 public virtual bool Delete(string[] fields, string[] keys)
273 {
274 if (fields.Length != keys.Length)
275 return false;
276
277 List<string> terms = new List<string>();
278
279 using (MySqlCommand cmd = new MySqlCommand()) 269 using (MySqlCommand cmd = new MySqlCommand())
280 { 270 {
281 for (int i = 0 ; i < fields.Length ; i++)
282 {
283 cmd.Parameters.AddWithValue(fields[i], keys[i]);
284 terms.Add("`" + fields[i] + "` = ?" + fields[i]);
285 }
286
287 string where = String.Join(" and ", terms.ToArray());
288 271
289 string query = String.Format("delete from {0} where {1}", m_Realm, where); 272 cmd.CommandText = String.Format("delete from {0} where `{1}` = ?{1}", m_Realm, field);
273 cmd.Parameters.AddWithValue(field, val);
290 274
291 cmd.CommandText = query; 275 if (ExecuteNonQuery(cmd) > 0)
276 return true;
292 277
293 return ExecuteNonQuery(cmd) > 0; 278 return false;
294 } 279 }
295 } 280 }
296 } 281 }