none
Insert sem Loop RRS feed

  • Pergunta

  • Amigos,

    tenho um webservice que retorna uma DataSet para minha aplicação movel.

    Gostaria de pegar as informações deste DataSet e inserir na minha base de dados (SQL Server CE) da aplicação Móvel sem ficar fazendo Loop, ou seja pegar todo o DataSet e Inserir de uma só vez.

    Existe esta possibilidade ? Qual a forma correta de realizar esta operação?

    Desde já agradeço a atenção de todos.
    sexta-feira, 9 de outubro de 2009 23:35

Respostas

  • Bom dia J_Vitor, voce fez duas perguntas, e eu não vou responder a primeira, pq não lembro ao certo e eu evito utilizar dataset na aplicação móvel e como voce perguntou qual a forma correta, com certeza utilizar o dataset não é uma das melhores, por problemas que voce poderá ter com memória e processamento.
    Recomendo voce utilizar o XmlTextReader para ler o retorno do seu WS, criar um SqlCeCommand, parametrizado, utilizar o comando "Prepare()"  e criar um loop (não adianta fugir) apenas informando os valores e executando o SqlCeCommand. essa sim é a melhor forma considerando consumo de memória e processamento. Vai te dar mais trabalho, com certeza, mas o usuário vai te agradecer pela aplicação rápida e eficiente, rs.

    Abraços
    PS.: em todo o caso, eu acho que funciona sim, se vc utilizar o SqlCeDataAdapter, mas num faz isso com a sua aplicação não.
    Julio Tsukamoto
    • Marcado como Resposta J_VITOR sábado, 23 de janeiro de 2010 19:25
    terça-feira, 13 de outubro de 2009 14:12

Todas as Respostas

  • Vitor,

    Creio que não seja possível (ao menos nunca ouvi falar com dataset).

    Já li certa vez (não lembro onde) uma forma de bancos fazerem a sincronização automática (bancos .sync no VS2008 com SP1). Ou seja, o próprio banco trata de verificar o que deve ser atualizado e atualiza todas as tabelas (somente tuplas alteradas).

    Dá uma pesquisada.

    Espero ter ajudado.
    terça-feira, 13 de outubro de 2009 11:47
  • Bom dia J_Vitor, voce fez duas perguntas, e eu não vou responder a primeira, pq não lembro ao certo e eu evito utilizar dataset na aplicação móvel e como voce perguntou qual a forma correta, com certeza utilizar o dataset não é uma das melhores, por problemas que voce poderá ter com memória e processamento.
    Recomendo voce utilizar o XmlTextReader para ler o retorno do seu WS, criar um SqlCeCommand, parametrizado, utilizar o comando "Prepare()"  e criar um loop (não adianta fugir) apenas informando os valores e executando o SqlCeCommand. essa sim é a melhor forma considerando consumo de memória e processamento. Vai te dar mais trabalho, com certeza, mas o usuário vai te agradecer pela aplicação rápida e eficiente, rs.

    Abraços
    PS.: em todo o caso, eu acho que funciona sim, se vc utilizar o SqlCeDataAdapter, mas num faz isso com a sua aplicação não.
    Julio Tsukamoto
    • Marcado como Resposta J_VITOR sábado, 23 de janeiro de 2010 19:25
    terça-feira, 13 de outubro de 2009 14:12
  • Bom dia J_Vitor, voce fez duas perguntas, e eu não vou responder a primeira, pq não lembro ao certo e eu evito utilizar dataset na aplicação móvel e como voce perguntou qual a forma correta, com certeza utilizar o dataset não é uma das melhores, por problemas que voce poderá ter com memória e processamento.
    Recomendo voce utilizar o XmlTextReader para ler o retorno do seu WS, criar um SqlCeCommand, parametrizado, utilizar o comando "Prepare()"  e criar um loop (não adianta fugir) apenas informando os valores e executando o SqlCeCommand. essa sim é a melhor forma considerando consumo de memória e processamento. Vai te dar mais trabalho, com certeza, mas o usuário vai te agradecer pela aplicação rápida e eficiente, rs.

    Abraços
    PS.: em todo o caso, eu acho que funciona sim, se vc utilizar o SqlCeDataAdapter, mas num faz isso com a sua aplicação não.
    Julio Tsukamoto

    Julio,

    Obrigado pela ajuda.

    O metodo que utilizo no dispositivo móvel envia um comando SQL com a Consulta e este método retorna um DataSet.

    Verifiquei a utilização do XmlTextReader, e em todos os exemplos que li ele sempre pega as informações de um arquivo XMl criado em algum diretório.

    Gostaria que se possível, envie um exemplo de utilização. Não tenho ideia de como implementar XmlTextReader de acordo com a minha necessidade.

    Desde já agradeço a atenção.
    sexta-feira, 16 de outubro de 2009 00:17
  • Olha, infelizmente eu não tenho nenhum exemplo disso "na manga", mas se voce procurar voce encontra um exemplo legal, não é muito complexo o uso dele, é mais trabalhoso, e um dataset, meio que por definição é um XML, tipo a conversão entre eles é tranquila, acho que até existe um método no DataSet que gera um XML ou algo assim, verifique isso, agora o uso do XmlTextReader vai te dar trabalho, mas vale a pena.

    Abraços.
    Julio Tsukamoto
    sexta-feira, 16 de outubro de 2009 14:36