Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
        }