/// <summary> /// Inserirs the no banco. /// </summary> /// <returns>The no banco.</returns> /// <param name="CaminhoArquivo">Caminho arquivo.</param> public static string InserirNoBanco(String CaminhoArquivo) { String Saida; //Preenchendo a lista com informações da cotacao List<Cotacao> ListaDeCotacoes = new List<Cotacao>(); ListaDeCotacoes = ListarCotacoes(CaminhoArquivo); Spartacus.Database.Generic database = new Spartacus.Database.Sqlite("cotacoes.db"); Spartacus.Database.Command cmd = new Spartacus.Database.Command(); try { cmd.v_text = "insert into Cotacoes (dia, tipomoeda, siglamoeda, taxacompra, taxavenda, parcompra, parvenda , codmoeda)" + "Values(#dia#, #tipomoeda#, #siglamoeda#, #taxacompra#, #taxavenda#, #parcompra#, #parvenda# , #codmoeda#)"; cmd.AddParameter("dia",Spartacus.Database.Type.STRING); cmd.AddParameter("tipomoeda",Spartacus.Database.Type.STRING); cmd.AddParameter("siglamoeda",Spartacus.Database.Type.STRING); cmd.AddParameter("taxacompra",Spartacus.Database.Type.REAL); cmd.AddParameter("taxavenda",Spartacus.Database.Type.REAL); cmd.AddParameter("parcompra",Spartacus.Database.Type.REAL); cmd.AddParameter("parvenda",Spartacus.Database.Type.REAL); cmd.AddParameter("codmoeda",Spartacus.Database.Type.INTEGER); cmd.SetLocale("taxacompra",Spartacus.Database.Locale.EUROPEAN); cmd.SetLocale("taxavenda",Spartacus.Database.Locale.EUROPEAN); cmd.SetLocale("parcompra",Spartacus.Database.Locale.EUROPEAN); cmd.SetLocale("parvenda",Spartacus.Database.Locale.EUROPEAN); database.Open(); foreach (Cotacao item in ListaDeCotacoes) { cmd.SetValue("dia",item.Dia.ToString()); cmd.SetValue("tipomoeda",item.Tipomoeda.ToString()); cmd.SetValue("siglamoeda",item.Siglamoeda.ToString()); cmd.SetValue("taxacompra",item.Taxacompra.ToString()); cmd.SetValue("taxavenda",item.Taxavenda.ToString()); cmd.SetValue("parcompra",item.Parcompra.ToString()); cmd.SetValue("parvenda",item.Parvenda.ToString()); cmd.SetValue("codmoeda",item.Codmoeda.ToString()); database.Execute(cmd.GetUpdatedText()); } database.Close(); Saida = "Valores inseridos com sucesso!"; } catch (Spartacus.Database.Exception ex) { database.Close(); Saida = ("Ocorreu um erro ao salvar os valores: " + ex.v_message); } return Saida; }
internal static void Criar(UF p_UF, string p_Localidade, string p_Logradouro, string p_ResultadoJSON) { string parametros = Formatacao.FormatarStrParametros(p_UF, p_Localidade, p_Logradouro); Spartacus.Database.Generic database; Spartacus.Database.Command cmd = new Spartacus.Database.Command(); cmd.v_text = "insert into ConsultaEndereco (Parametros,DataConsulta) values(#parametros#,#dataconsulta#)"; cmd.AddParameter("parametros", Spartacus.Database.Type.STRING); cmd.AddParameter("dataconsulta", Spartacus.Database.Type.STRING); cmd.SetValue("dataconsulta", DateTime.Now.ObterDataFormatada(), false); cmd.SetValue("parametros", parametros, false); database = new Spartacus.Database.Sqlite(BancosDeDados.ObterCaminhoBancoCache()); try { #region Inserindo informações sobre consulta de endereços no banco database.Open(); database = new Spartacus.Database.Sqlite(BancosDeDados.ObterCaminhoBancoCache()); database.SetExecuteSecurity(false); database.Execute(cmd.GetUpdatedText()); #endregion #region Formatando e inserindo enderecos no banco List <string> EnderecosJSON = ControleJSON.SepararArrayJSON(p_ResultadoJSON); string IDInsercao = ObterIDultimaInsercao(); foreach (string item in EnderecosJSON) { Criar(ControleJSON.ObterCEPdaStrJSON(item), item, IDInsercao); } #endregion } catch (Spartacus.Database.Exception ex) { throw new Exception($"Erro:{ex.v_message} "); } finally { database.Close(); } }
public static void Main(string[] args) { Spartacus.Database.Generic v_database; Spartacus.Utils.ProgressEventClass v_progress; Spartacus.Utils.ErrorEventClass v_error; Spartacus.Database.Command v_cmd; v_database = new Spartacus.Database.Sqlite("../../../databases/cotacoes_tamanhobloco.db"); v_database.v_blocksize = 10000; v_progress = new Spartacus.Utils.ProgressEventClass(); v_progress.ProgressEvent += OnProgress; v_error = new Spartacus.Utils.ErrorEventClass(); v_error.ErrorEvent += OnError; v_cmd = new Spartacus.Database.Command(); v_cmd.v_text = "(#col0#,#col1#,#col2#,#col3#,#col4#,#col5#,#col6#,#col7#)"; v_cmd.AddParameter("col0", Spartacus.Database.Type.STRING); v_cmd.AddParameter("col1", Spartacus.Database.Type.INTEGER); v_cmd.AddParameter("col2", Spartacus.Database.Type.STRING); v_cmd.AddParameter("col3", Spartacus.Database.Type.STRING); v_cmd.AddParameter("col4", Spartacus.Database.Type.REAL); v_cmd.SetLocale("col4", Spartacus.Database.Locale.EUROPEAN); v_cmd.AddParameter("col5", Spartacus.Database.Type.REAL); v_cmd.SetLocale("col5", Spartacus.Database.Locale.EUROPEAN); v_cmd.AddParameter("col6", Spartacus.Database.Type.REAL); v_cmd.SetLocale("col6", Spartacus.Database.Locale.EUROPEAN); v_cmd.AddParameter("col7", Spartacus.Database.Type.REAL); v_cmd.SetLocale("col7", Spartacus.Database.Locale.EUROPEAN); v_database.Open(); v_database.TransferFromFile( args[0], ";", "", false, System.Text.Encoding.UTF8, "cotacoes", // tabela existe "(dia,codmoeda,tipomoeda,siglamoeda,taxacompra,taxavenda,parcompra,parvenda)", v_cmd, v_progress, v_error ); v_database.Close(); // como fazer o experimento de forma automática /* int[] v_exp = { 1, 5, 10, 50, 100, 250, 500, 750, 1000, 2000, 3000 }; System.Diagnostics.Stopwatch v_watch = new System.Diagnostics.Stopwatch(); foreach (int v_bloco in v_exp) { v_database.v_blocksize = v_bloco; v_watch.Start; v_database.Open(); v_database.TransferFromFile( args[0], ";", "", false, System.Text.Encoding.UTF8, "cotacoes", // tabela existe "(dia,codmoeda,tipomoeda,siglamoeda,taxacompra,taxavenda,parcompra,parvenda)", v_cmd, v_progress, v_error ); v_database.Close(); v_watch.Stop; Console.WriteLine("Tamanho de bloco = {0}, tempo total = {1}", v_bloco, v_watch.Elapsed); } */ }