diff options
Diffstat (limited to 'OpenSim/Data/MySQL/MySQLGenericTableHandler.cs')
-rw-r--r-- | OpenSim/Data/MySQL/MySQLGenericTableHandler.cs | 27 |
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 | } |