Пример #1
0
        public int getTaxa(string source, string target)
        {
            //Alte DB-Einträge löschen
            string          connString = "Data Source=\"" + sdfPath + "\";Max Database Size=128;Default Lock Escalation=100;";
            SqlCeConnection conn       = new SqlCeConnection(connString);
            DbCommand       command    = conn.CreateCommand();

            conn.Open();
            StringBuilder sb = new StringBuilder();

            sb.Append("Delete From ").Append(target);
            command.CommandText = sb.ToString();
            command.ExecuteNonQuery();
            conn.Close();
            //Neue Taxa holen
            List <TaxonNames> taxa = new List <TaxonNames>();
            DbCommand         com  = ConnRepository.CreateCommand();

            sb = new StringBuilder();
            sb.Append("Select * From ").Append(source);
            com.CommandText = sb.ToString();
            ConnRepository.Open();
            DbDataReader reader = com.ExecuteReader();

            while (reader.Read())
            {
                TaxonNames taxon = SerRepository.CreateISerializableObject <TaxonNames>();
                taxon.NameURI        = reader.GetString(0);
                taxon.TaxonNameCache = reader.GetString(1);
                taxon.Synonym        = reader.GetString(2);
                taxa.Add(taxon);
            }
            ConnRepository.Close();
            SerMobile.Connector.BeginTransaction();
            foreach (TaxonNames taxon in taxa)
            {
                SerMobile.Connector.InsertPlain(taxon, target);
            }
            SerMobile.Connector.Commit();
            return(taxa.Count);
        }