Procházet zdrojové kódy

修改矿物数据库转换器的bug

cxs před 2 roky
rodič
revize
e39605a42d
1 změnil soubory, kde provedl 11 přidání a 3 odebrání
  1. 11 3
      OTSPartA_STDEditor/Form_ConstantsEditor2.cs

+ 11 - 3
OTSPartA_STDEditor/Form_ConstantsEditor2.cs

@@ -1561,7 +1561,7 @@ namespace OTSPartA_STDEditor
                         OtsDatabaseCommand.ExecuteNonQuery();
                         OtsDatabaseCommand.CommandText = "CREATE TABLE MaxEDSRules (MaxEDSTime INT,UsingElementList TEXT, UsingImgPropertyList TEXT,UsingOtherPropertyList TEXT,Expression TEXT)";
                         OtsDatabaseCommand.ExecuteNonQuery();
-                        OtsDatabaseCommand.CommandText = "CREATE TABLE STDGroups (id INTEGER,name TEXT, color INTEGER,iorder INTEGER)";
+                        OtsDatabaseCommand.CommandText = "CREATE TABLE STDGroups (id INTEGER,name TEXT, color TEXT,iorder INTEGER)";
                         OtsDatabaseCommand.ExecuteNonQuery();
                         OtsDatabaseCommand.CommandText = "CREATE TABLE STDMinerals (id INTEGER,SPEC BLOB)";
                         OtsDatabaseCommand.ExecuteNonQuery();
@@ -1571,11 +1571,19 @@ namespace OTSPartA_STDEditor
 
                         foreach (DataRow item in OreDatabasedt.Rows)
                         {
-                            OtsDatabaseCommand.CommandText = "insert into ClassifySTD (Density,BSE,Formula,StrName,Color,STDId,ListNum,GroupId,KeyElementList,SubElementList,UsingImgPropertyList,UsingOtherPropertyList,Expression,Hardness,Electrical_conductivity,Element) values ( '" + item["density"].ToString() + "','" + item["BSEValue"].ToString() + "','" + item["formula"].ToString() + "','" + item["name"].ToString() + "','" + item["color"].ToString() + "'," + item["id"].ToString() + "," + listnum.ToString() + @",0,' ',' ',' ',' ',' ',' ',' ',' ')";
+                            int n = 0;
+                            string STRcolor = "#0";
+                            if(int.TryParse(item["color"].ToString(),out n))
+                            {
+                                STRcolor = "#"+n.ToString("X6");
+                            }
+                            int idaAdd10 = 0;
+                            idaAdd10 = int.Parse(item["id"].ToString()) + 10;
+                            OtsDatabaseCommand.CommandText = "insert into ClassifySTD (Density,BSE,Formula,StrName,Color,STDId,ListNum,GroupId,KeyElementList,SubElementList,UsingImgPropertyList,UsingOtherPropertyList,Expression,Hardness,Electrical_conductivity,Element) values ( '" + item["density"].ToString() + "','" + item["BSEValue"].ToString() + "','" + item["formula"].ToString() + "','" + item["name"].ToString() + "','" + STRcolor + "'," + idaAdd10.ToString() + "," + listnum.ToString() + @",0,' ',' ',' ',' ',' ',' ',' ',' ')";
                             OtsDatabaseCommand.ExecuteNonQuery();
                             listnum++;
                             OtsDatabaseCommand.CommandText = "insert into STDMinerals (id,SPEC) values (@id,@SPEC)";
-                            OtsDatabaseCommand.Parameters.Add("id", DbType.Int32).Value = item["id"];
+                            OtsDatabaseCommand.Parameters.Add("id", DbType.Int32).Value = idaAdd10;
                             OtsDatabaseCommand.Parameters.Add("SPEC", DbType.Binary).Value = item["SPEC"];
                             OtsDatabaseCommand.ExecuteNonQuery();
                         }