Usuário com melhor resposta
Inserir Varios registros

Pergunta
-
Boa tarde !!!
Tenho um SQL CE rodando em um smartphone. O Programa do smartphone se conectar em um webservice e recebe um dataset com varios registros. Eu tenho que atualizar esses registros no SQL CE. Estou dando um loop no dataset e adicionando registro por registro, mas esta muito lento. Entao eu pensei em dar o loop montando o script com insercao de até 500 registros e entao executar. Mas o ADO.NET nao esta aceitando. Eu testei no SSMS e funcionou mas na aplicacao nao funciona. O que eu fiz foi separar com ; um insert do outro, assim:
INSERT Tabela (Campo1, Campo2) VALUES ('Dados1', 'Dados2');
INSERT Tabela (Campo1, Campo2) VALUES ('Dados1', 'Dados2');
INSERT Tabela (Campo1, Campo2) VALUES ('Dados1', 'Dados2')
Alguem me da alguma ideia ??
Obrigado !!!- Movido Gustavo Maia Aguiar quinta-feira, 4 de junho de 2009 23:57 ([Loc]From:SQL Server - Desenvolvimento Geral)
Respostas
-
Davi,
Nunca trabalhei com esta versao de SQL, mas vc pode ver se este codigo funciona no SQL CE:SqlConnection con = new SqlConnection(@"Minha Conexao");
//A tabela que recebera os registros
SqlCommand cmd = new SqlCommand("select * from tb_Teste", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
SqlCommandBuilder cb = new SqlCommandBuilder(da);
//Seu DataSet vindo do Web Service
DataSet ds = new DataSet();//Na minha aplicao carregei o DataSet com dados XML
//ds.ReadXml(new StringReader("<dados><tb_Teste id=\"10\" descricao=\"valor zz\"/><tb_Teste id=\"11\" descricao=\"valor yy\"/></dados>"));//Definindo de que tabela do DataSet vc copiara os registros
//IMPORTANTE: Os Nomes dos Campos no DataTable e da Sua Tabela destino devem ser iguais
//Neste exemplo: Id de descricao
DataTable dt = ds.Tables[0];
da.Update(dt);- Editado F1rm1no quarta-feira, 3 de junho de 2009 18:36 Faltando uma linha do codigo
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator sexta-feira, 20 de fevereiro de 2015 14:45
Todas as Respostas
-
Davi,
Nunca trabalhei com esta versao de SQL, mas vc pode ver se este codigo funciona no SQL CE:SqlConnection con = new SqlConnection(@"Minha Conexao");
//A tabela que recebera os registros
SqlCommand cmd = new SqlCommand("select * from tb_Teste", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
SqlCommandBuilder cb = new SqlCommandBuilder(da);
//Seu DataSet vindo do Web Service
DataSet ds = new DataSet();//Na minha aplicao carregei o DataSet com dados XML
//ds.ReadXml(new StringReader("<dados><tb_Teste id=\"10\" descricao=\"valor zz\"/><tb_Teste id=\"11\" descricao=\"valor yy\"/></dados>"));//Definindo de que tabela do DataSet vc copiara os registros
//IMPORTANTE: Os Nomes dos Campos no DataTable e da Sua Tabela destino devem ser iguais
//Neste exemplo: Id de descricao
DataTable dt = ds.Tables[0];
da.Update(dt);- Editado F1rm1no quarta-feira, 3 de junho de 2009 18:36 Faltando uma linha do codigo
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator sexta-feira, 20 de fevereiro de 2015 14:45
-