public static void UpdateGameInfo(RomBasicInfo pRomInfo) { string lSqlHeader = " UPDATE " + _TableName + " SET "; string lSqlFooter = " WHERE Serial = '" + pRomInfo.Serial + "' "; // FirstName = 'Fred', City = 'Nanjing' string lSqlBody = ""; try { SQLiteConnection lDBConnection = new SQLiteConnection("data source=" + _DBFileFullName); lDBConnection.Open(); RomInformation lExistRomInfo = GetGameInfo(pRomInfo.Serial); SQLiteCommand cmd = new SQLiteCommand(); cmd.Connection = lDBConnection; string lSql = lSqlHeader; lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Serial, pRomInfo.Serial, "Serial"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Capacity, pRomInfo.Capacity, "Capacity"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Region, pRomInfo.Region, "Region"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Region_Lockout, pRomInfo.Region_Lockout, "Region_Lockout"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Languages, pRomInfo.Languages, "Languages"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Title_ID, pRomInfo.Title_ID, "Title_ID"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Game_Title, pRomInfo.Game_Title, "Game_Title"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.English_Title, pRomInfo.English_Title, "English_Title"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Japanese_Title, pRomInfo.Japanese_Title, "Japanese_Title"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.French_Title, pRomInfo.French_Title, "French_Title"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.German_Title, pRomInfo.German_Title, "German_Title"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Italian_Title, pRomInfo.Italian_Title, "Italian_Title"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Spanish_Title, pRomInfo.Spanish_Title, "Spanish_Title"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Simplified_Chinese_Title, pRomInfo.Simplified_Chinese_Title, "Simplified_Chinese_Title"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Korean_Title, pRomInfo.Korean_Title, "Korean_Title"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Dutch_Title, pRomInfo.Dutch_Title, "Dutch_Title"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Portuguese_Title, pRomInfo.Portuguese_Title, "Portuguese_Title"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Russian_Title, pRomInfo.Russian_Title, "Russian_Title"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Traditional_Chinese_Title, pRomInfo.Traditional_Chinese_Title, "Traditional_Chinese_Title"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Platform, pRomInfo.Platform, "Platform"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Card_Type, pRomInfo.Card_Type, "Card_Type"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Card_ID, pRomInfo.Card_ID, "Card_ID"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Chip_ID, pRomInfo.Chip_ID, "Chip_ID"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Manufacturer, pRomInfo.Manufacturer, "Manufacturer"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.OriginalName, pRomInfo.OriginalName, "OriginalName"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Developer, pRomInfo.Developer, "Developer"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Publisher, pRomInfo.Publisher, "Publisher"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.ReleaseDate, pRomInfo.ReleaseDate, "ReleaseDate"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Genre, pRomInfo.Genre, "Genre"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Rating, pRomInfo.Rating, "Rating"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Players, pRomInfo.Players, "Players"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Imagesize, pRomInfo.Imagesize, "Imagesize"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Firmware, pRomInfo.Firmware, "Firmware"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.Favorite, pRomInfo.Favorite, "Favorite"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.IsCustomsizeRom, pRomInfo.IsCustomsizeRom, "IsCustomsizeRom"); lSqlBody += AddProp(cmd, lExistRomInfo.BasicInfo.SourceSerial, pRomInfo.SourceSerial, "SourceSerial"); lSqlBody = lSqlBody.Trim().TrimEnd(','); if (lSqlBody == "") { return; } lSql += lSqlBody; lSql += lSqlFooter; cmd.CommandText = lSql; cmd.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } }
public static bool InsertRomInfoList(List <RomInformation> pRomInfoList) { SQLiteConnection lDBConnection = new SQLiteConnection("data source=" + _DBFileFullName); SQLiteCommand cmd = new SQLiteCommand(); lDBConnection.Open(); SQLiteTransaction lTransaction = lDBConnection.BeginTransaction(); cmd.Connection = lDBConnection; try { string sql = "INSERT INTO " + _TableName + "("; sql += "Serial ,"; sql += "Capacity ,"; sql += "Region ,"; sql += "Region_Lockout ,"; sql += "Languages ,"; sql += "Title_ID ,"; sql += "Game_Title ,"; sql += "English_Title ,"; sql += "Japanese_Title ,"; sql += "French_Title ,"; sql += "German_Title ,"; sql += "Italian_Title ,"; sql += "Spanish_Title ,"; sql += "Simplified_Chinese_Title ,"; sql += "Korean_Title ,"; sql += "Dutch_Title ,"; sql += "Portuguese_Title ,"; sql += "Russian_Title ,"; sql += "Traditional_Chinese_Title ,"; sql += "Platform ,"; sql += "Card_Type ,"; sql += "Card_ID ,"; sql += "Chip_ID ,"; sql += "Manufacturer ,"; sql += "OriginalName ,"; sql += "Developer ,"; sql += "Publisher ,"; sql += "ReleaseDate ,"; sql += "Genre ,"; sql += "Rating ,"; sql += "Players ,"; sql += "Imagesize ,"; sql += "Firmware ,"; sql += "Favorite, "; sql += "IsCustomsizeRom ,"; sql += "SourceSerial "; sql += ")values("; sql += "@Serial ,"; sql += "@Capacity ,"; sql += "@Region ,"; sql += "@Region_Lockout ,"; sql += "@Languages ,"; sql += "@Title_ID ,"; sql += "@Game_Title ,"; sql += "@English_Title ,"; sql += "@Japanese_Title ,"; sql += "@French_Title ,"; sql += "@German_Title ,"; sql += "@Italian_Title ,"; sql += "@Spanish_Title ,"; sql += "@Simplified_Chinese_Title ,"; sql += "@Korean_Title ,"; sql += "@Dutch_Title ,"; sql += "@Portuguese_Title ,"; sql += "@Russian_Title ,"; sql += "@Traditional_Chinese_Title ,"; sql += "@Platform ,"; sql += "@Card_Type ,"; sql += "@Card_ID ,"; sql += "@Chip_ID ,"; sql += "@Manufacturer ,"; sql += "@OriginalName ,"; sql += "@Developer ,"; sql += "@Publisher ,"; sql += "@ReleaseDate ,"; sql += "@Genre ,"; sql += "@Rating ,"; sql += "@Players ,"; sql += "@Imagesize ,"; sql += "@Firmware ,"; sql += "@Favorite ,"; sql += "@IsCustomsizeRom ,"; sql += "@SourceSerial "; sql += ")"; cmd.CommandText = sql; cmd.Parameters.Add("@Serial", DbType.String); cmd.Parameters.Add("@Capacity", DbType.String); cmd.Parameters.Add("@Region", DbType.String); cmd.Parameters.Add("@Region_Lockout", DbType.String); cmd.Parameters.Add("@Languages", DbType.String); cmd.Parameters.Add("@Title_ID", DbType.String); cmd.Parameters.Add("@Game_Title", DbType.String); cmd.Parameters.Add("@English_Title", DbType.String); cmd.Parameters.Add("@Japanese_Title", DbType.String); cmd.Parameters.Add("@French_Title", DbType.String); cmd.Parameters.Add("@German_Title", DbType.String); cmd.Parameters.Add("@Italian_Title", DbType.String); cmd.Parameters.Add("@Spanish_Title", DbType.String); cmd.Parameters.Add("@Simplified_Chinese_Title", DbType.String); cmd.Parameters.Add("@Korean_Title", DbType.String); cmd.Parameters.Add("@Dutch_Title", DbType.String); cmd.Parameters.Add("@Portuguese_Title", DbType.String); cmd.Parameters.Add("@Russian_Title", DbType.String); cmd.Parameters.Add("@Traditional_Chinese_Title", DbType.String); cmd.Parameters.Add("@Platform", DbType.String); cmd.Parameters.Add("@Card_Type", DbType.String); cmd.Parameters.Add("@Card_ID", DbType.String); cmd.Parameters.Add("@Chip_ID", DbType.String); cmd.Parameters.Add("@Manufacturer", DbType.String); cmd.Parameters.Add("@OriginalName", DbType.String); cmd.Parameters.Add("@Developer", DbType.String); cmd.Parameters.Add("@Publisher", DbType.String); cmd.Parameters.Add("@ReleaseDate", DbType.String); cmd.Parameters.Add("@Genre", DbType.String); cmd.Parameters.Add("@Rating", DbType.String); cmd.Parameters.Add("@Players", DbType.String); cmd.Parameters.Add("@Imagesize", DbType.String); cmd.Parameters.Add("@Firmware", DbType.String); cmd.Parameters.Add("@Favorite", DbType.String); cmd.Parameters.Add("@IsCustomsizeRom", DbType.String); cmd.Parameters.Add("@SourceSerial", DbType.String); foreach (var rominfo in pRomInfoList) { RomBasicInfo tBasic = rominfo.BasicInfo; cmd.Parameters["@Serial"].Value = tBasic.Serial; cmd.Parameters["@Capacity"].Value = tBasic.Capacity; cmd.Parameters["@Region"].Value = tBasic.Region; cmd.Parameters["@Region_Lockout"].Value = tBasic.Region_Lockout; cmd.Parameters["@Languages"].Value = tBasic.Languages; cmd.Parameters["@Title_ID"].Value = tBasic.Title_ID; cmd.Parameters["@Game_Title"].Value = tBasic.Game_Title; cmd.Parameters["@English_Title"].Value = tBasic.English_Title; cmd.Parameters["@Japanese_Title"].Value = tBasic.Japanese_Title; cmd.Parameters["@French_Title"].Value = tBasic.French_Title; cmd.Parameters["@German_Title"].Value = tBasic.German_Title; cmd.Parameters["@Italian_Title"].Value = tBasic.Italian_Title; cmd.Parameters["@Spanish_Title"].Value = tBasic.Spanish_Title; cmd.Parameters["@Simplified_Chinese_Title"].Value = tBasic.Simplified_Chinese_Title; cmd.Parameters["@Korean_Title"].Value = tBasic.Korean_Title; cmd.Parameters["@Dutch_Title"].Value = tBasic.Dutch_Title; cmd.Parameters["@Portuguese_Title"].Value = tBasic.Portuguese_Title; cmd.Parameters["@Russian_Title"].Value = tBasic.Russian_Title; cmd.Parameters["@Traditional_Chinese_Title"].Value = tBasic.Traditional_Chinese_Title; cmd.Parameters["@Platform"].Value = tBasic.Platform; cmd.Parameters["@Card_Type"].Value = tBasic.Card_Type; cmd.Parameters["@Card_ID"].Value = tBasic.Card_ID; cmd.Parameters["@Chip_ID"].Value = tBasic.Chip_ID; cmd.Parameters["@Manufacturer"].Value = tBasic.Manufacturer; cmd.Parameters["@OriginalName"].Value = tBasic.OriginalName; cmd.Parameters["@Developer"].Value = tBasic.Developer; cmd.Parameters["@Publisher"].Value = tBasic.Publisher; cmd.Parameters["@ReleaseDate"].Value = tBasic.ReleaseDate; cmd.Parameters["@Genre"].Value = tBasic.Genre; cmd.Parameters["@Rating"].Value = tBasic.Rating; cmd.Parameters["@Players"].Value = tBasic.Players; cmd.Parameters["@Imagesize"].Value = tBasic.Imagesize; cmd.Parameters["@Firmware"].Value = tBasic.Firmware; cmd.Parameters["@Favorite"].Value = tBasic.Favorite; cmd.Parameters["@IsCustomsizeRom"].Value = tBasic.IsCustomsizeRom; cmd.Parameters["@SourceSerial"].Value = tBasic.SourceSerial; cmd.ExecuteNonQuery(); } lTransaction.Commit(); } catch (Exception ex) { lTransaction.Rollback(); throw ex; } return(true); }