コード例 #1
0
        /// <summary>
        /// Generate New OSNamelist from Database
        /// </summary>
        public OSNameList()
        {
            FileInfo databaseDir = new FileInfo(Directory.GetCurrentDirectory() + @"\Database\cmmgui_schema.accdb");

            Debug.Print(Directory.GetCurrentDirectory());
            string conn_str_format = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=True";

            if (!databaseDir.Exists)
            {
                throw new Exception(string.Format("Database file not found in {0}, please check.", databaseDir.FullName));
            }
            string conn_str = string.Format(conn_str_format, databaseDir.FullName);

            using (OleDbConnection conn = new OleDbConnection(conn_str))
            {
                conn.Open();
                string           strSQL  = @"SELECT DISTINCT [os_name] FROM [tbl_osinfo];";
                OleDbCommand     cmd     = new OleDbCommand(strSQL, conn);
                DataSet          dataset = new DataSet();
                OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
                adapter.Fill(dataset);
                foreach (DataRow row in dataset.Tables[0].Rows)
                {
                    //Populating OSNames
                    string       osname = row.ItemArray[0].ToString();
                    OSNameDetail n      = new OSNameDetail(osname);
                    strSQL = @"SELECT DISTINCT [os_version] FROM [tbl_osinfo] WHERE os_name = @os_name;";
                    OleDbCommand select_cmd = new OleDbCommand(strSQL, conn);
                    select_cmd.Parameters.Add("@os_name", OleDbType.VarChar);
                    select_cmd.Parameters["@os_name"].Value = osname;
                    DataSet          dataset1 = new DataSet();
                    OleDbDataAdapter adapter1 = new OleDbDataAdapter(select_cmd);
                    adapter1.Fill(dataset1);

                    OSVersionList v = new OSVersionList();
                    foreach (DataRow row1 in dataset1.Tables[0].Rows)
                    {
                        string osversion = row1.ItemArray[0].ToString();
                        Debug.Print($"Addeding OSVersion: {osversion}");
                        OSVersionDetail d = new OSVersionDetail(osversion);
                        d.osArchitectureList.Add(new OSArchitecture("32 bit"));
                        d.osArchitectureList.Add(new OSArchitecture("64 bit"));


                        v.Add(d);
                    }
                    n.osVersionList = v;
                    this.Add(n);
                }
            }
        }
コード例 #2
0
 public OSNameDetail(string name)
 {
     Name          = name;
     osVersionList = new OSVersionList();
 }