Fix some finicky XML DATs and how the name is read

This commit is contained in:
Matt Nadareski
2016-04-27 21:27:41 -07:00
parent 820097a2ec
commit a6536fd65e

View File

@@ -388,7 +388,8 @@ namespace SabreTools.Helper
break; break;
case "header": case "header":
xtr.ReadToDescendant("name"); xtr.ReadToDescendant("name");
superdat = (xtr.ReadElementContentAsString() != null ? xtr.ReadElementContentAsString().Contains(" - SuperDAT") : false); string content = xtr.ReadElementContentAsString();
superdat = (content != null ? content.Contains(" - SuperDAT") : false);
while (xtr.Name != "header") while (xtr.Name != "header")
{ {
xtr.Read(); xtr.Read();
@@ -454,6 +455,26 @@ namespace SabreTools.Helper
// If we're in merged mode, check before adding // If we're in merged mode, check before adding
if (merge) if (merge)
{ {
/*
string query = @"INSERT OR UPDATE INTO roms
(game, name, type, sysid, srcid, size, crc, md5, sha1, dupe)
VALUES ('" + tempname.Replace("'", "''") + "', '" +
xtr.GetAttribute("name").Replace("'", "''") + "', '" +
xtr.Name + "', " +
sysid + ", " +
srcid + ", " +
size +
(xtr.GetAttribute("crc") != null ? ", '" + xtr.GetAttribute("crc").ToLowerInvariant().Trim() + "'" : ", ''") +
(xtr.GetAttribute("md5") != null ? ", '" + xtr.GetAttribute("md5").ToLowerInvariant().Trim() + "'" : ", ''") +
(xtr.GetAttribute("sha1") != null ? ", '" + xtr.GetAttribute("sha1").ToLowerInvariant().Trim() + "'" : ", ''") +
", '" + filename + "'" +
")";
using (SqliteCommand slc = new SqliteCommand(query, dbc))
{
slc.ExecuteNonQuery();
}
*/
// If the rom doesn't exist, add it to the database // If the rom doesn't exist, add it to the database
string query = @"SELECT id FROM roms WHERE size=" + size + string query = @"SELECT id FROM roms WHERE size=" + size +
(xtr.GetAttribute("crc") != null ? " AND (crc='" + xtr.GetAttribute("crc").ToLowerInvariant().Trim() + "' OR crc='')" : "") + (xtr.GetAttribute("crc") != null ? " AND (crc='" + xtr.GetAttribute("crc").ToLowerInvariant().Trim() + "' OR crc='')" : "") +