Exemple #1
0
        private void ReadDataBase()
        {
            var dtSyncFile   = MySQLiteHelper.GetDataTable("SyncFile", _conn);
            var dtLinkedFile = MySQLiteHelper.GetDataTable("LinkedFile", _conn);

            var dvSyncFile = dtSyncFile.DefaultView; //对dtSyncFile按ID顺序排序

            dvSyncFile.Sort = "ID Asc";
            dtSyncFile      = dvSyncFile.ToTable();

            var dicFileNum = new Dictionary <int, int>(); //每行数据包含的同步文件数量字典

            foreach (DataRow dr in dtLinkedFile.AsEnumerable())
            {
                int id_SyncFile = Convert.ToInt32(dr["ID_SyncFile"]);
                if (dicFileNum.Keys.Contains(id_SyncFile))
                {
                    dicFileNum[id_SyncFile]++;
                }
                else
                {
                    dicFileNum.Add(id_SyncFile, 1);
                }
            }

            _dtFileList = new DataTable();
            _dtFileList.Columns.Add("ID", typeof(int));
            _dtFileList.Columns.Add("FileSetName", typeof(string));
            _dtFileList.Columns.Add("LastUpdateDate", typeof(string));
            _dtFileList.Columns.Add("FileNum", typeof(int));
            _dtFileList.Columns.Add("UpdateTimes", typeof(int));
            _dtFileList.AcceptChanges();

            foreach (DataRow dr in dtSyncFile.AsEnumerable())
            {
                int id = Convert.ToInt32(dr["ID"]);

                DataRow drAdd = _dtFileList.NewRow();
                drAdd["ID"]             = id;
                drAdd["FileSetName"]    = dr["FileSetName"].ToString();
                drAdd["LastUpdateDate"] = DateTime.FromBinary(Convert.ToInt64(dr["LastUpdateDate"]));
                drAdd["FileNum"]        = dicFileNum[id];
                drAdd["UpdateTimes"]    = Convert.ToInt32(dr["UpdateTimes"]);
                _dtFileList.Rows.Add(drAdd);
            }
            _dtFileList.AcceptChanges();
            dgViewFileList.DataSource = _dtFileList;
        }