/// <summary> /// Fonction appelée en cliquant sur le bouton "Écraser les données". /// Ajoute les données en écrasant la base de donnée actuelle. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OverwriteDataButton_Click(object sender, EventArgs e) { DAODatabase daoDatabase = new DAODatabase(); daoDatabase.CleanDatabase(); // On désactive les boutons pour éviter que l'utilisateur reclique dessus OverwriteDataButton.Enabled = false; AppendDataButton.Enabled = false; // On parse le fichier choisi par l'utilisateur pour récupérer la liste d'articles List <Article> ListeArticle = Parser(FileTextBox.Text); ProgressBar.Maximum = ListeArticle.Count; DAOArticle daoArticle = new DAOArticle(); foreach (Article NewArticle in ListeArticle) { daoArticle.AddOrUpdateArticle(NewArticle); ProgressBar.PerformStep(); } // On affiche un message informatif string Message = ListeArticle.Count.ToString() + " article(s) importés avec succès à la base de donnée !"; if (MessageBox.Show(Message, "Importation réussie") == DialogResult.OK) { Close(); } }
/// <summary> /// 获取表属性字段描述字典 /// </summary> /// <param name="dbPath">数据文件路径</param> /// <param name="tbName">表名</param> /// <returns></returns> public static Dictionary <string, string> GetFieldDescriptions(string dbPath, string tbName) { try { const int dbUseJet = 2; dao.Workspace DAOWorkspace; dao.Database DAODatabase; dao.DBEngine DAODBEngine = new dao.DBEngine(); //创建一个工作区 DAOWorkspace = DAODBEngine.CreateWorkspace("WorkSpace", "Admin", "", dbUseJet); //打开数据库 DAODatabase = DAOWorkspace.OpenDatabase(dbPath, false, false, null); dao.TableDef DAOTable; Dictionary <string, string> fieldCaptionDic = new Dictionary <string, string>(); // 表对象 DAOTable = DAODatabase.TableDefs[tbName]; foreach (dao.Field field in DAOTable.Fields) { //读取 UserName 字段的 “标题”属性,如果标题没有设置,则会抛出异常。 //如果标题不存在,我们就添加一个标题 String descriptionText; try { descriptionText = field.Properties["Description"].Value.ToString(); } catch { descriptionText = field.Name; } fieldCaptionDic.Add(field.Name, descriptionText); } DAODatabase.Close(); return(fieldCaptionDic); } catch { return(null); } }