ATUALIZAR E REGISTRAR NA GRID

COQUITO 29/05/2017 10:52:02
#474232
olá pessoal, tudo bem?

preciso de uma ideia de vcs.

estou com um problema que não consigo achar uma solução na seguinte questão.

na imagem que vcs vem, ele consta de uma ordem de serviço. aonde faço um cadastro de Tab_OrdemServiço e Tab_ItemsdeOrdemServico

quando eu faço o cadastro da ordem ele registra normal.
porem eu faço um While para carregar na datagrid, os items de uma ordem cadastrada para atualizar. conforme a circulo 1 da imagem, porem o que eu preciso ela seja
incluido um novo item pelo mesmo datagrid o circulo 2 da imagem.

exemplo.

tab_ordemServico

Cod.
0001

Tab_ItemsdeOrdemServico

cód_item, OS_Cod,
0001 0001(Registrado)
0002 0001(Registrado)
0003 0001(Registrado)
0004 0001(Registrado)
0005 0001(Novo)
0006 0001(Novo)

como eu consigo incluir esse novo registro pela mesma grid sem precisar criar um novo formulario para fazer esse processo.?

ja tentei atualizar, mas não deu certo. até mudei a forma de tratamento de incluir esse registro mas sem sucesso.
MESTRE 29/05/2017 10:55:35
#474233
Amigo se você está refazendo a pesquisa era pra aparecer.. porém me passe seu código para eu dar uma olhada ..
COQUITO 29/05/2017 18:37:55
#474250
Estou usando assim
OMAR2011 29/05/2017 20:11:09
#474253
Como você quer dar um Update na tabela com Datagridview ,onde usa um Textbox.
Se fizer isto só vai atualizar um registro e você tem 5.
Olhe.
sql += [Ô] subtotal=@subtotal WHERE ordem_cod = [ô][Ô] & ([txt-color=#e80000]Cod_ordemTextBox.Text[/txt-color]) & [Ô][ô][Ô]
Tem que ser do Datagridview.
[txt-color=#007100]CInt(DgvLista.Rows(i).Cells([Ô]ColunaCodOS[Ô])[/txt-color].Value que representa a sua chave primária.
COQUITO 30/05/2017 17:19:16
#474271
Citação:

:
Como você quer dar um Update na tabela com Datagridview ,onde usa um Textbox.
Se fizer isto só vai atualizar um registro e você tem 5.
Olhe.
sql += [Ô] subtotal=@subtotal WHERE ordem_cod = [ô][Ô] & ([txt-color=#e80000]Cod_ordemTextBox.Text[/txt-color]) & [Ô][ô][Ô]
Tem que ser do Datagridview.
[txt-color=#007100]CInt(DgvLista.Rows(i).Cells([Ô]ColunaCodOS[Ô])[/txt-color].Value que representa a sua chave primária.


Amigo, ja fiz isso o problema nao é somente atualizar também é integrar novo item, conforme esclareci no exemplo, alias nesse caso ali que mostra ele esta fazendo um For, mesmo processo se eu usar pela grid
DAMASCENO.CESAR 03/06/2017 17:30:50
#474306
Resposta escolhida
Se você está atualizando os registros, não aparecerá um novo registro, mas sim um registro alterado, não consegui entender exatamente o que você quer.
se você insere novos itens pelo que aparece na grid, você deve inserir uma nova linha na grid e depois fazer o FOR pela grid e inserir o novo item, tipo:

for a=0 to grid.rows.count-1
sql=INSERT INTO [tabela] ( Coluna1, Coluna2, ... ) SELECT Valor1, Valor2, ... WHERE NOT EXISTS (SELECT 1 FROM [Tabela] WHERE [Condição])
next
Preguiça de montar correto (rsrsrsrs) mas você entendeu.

é porque (está certo? nunca soube usar os porquês!) só vi updates, e nenhum insert. Se compreendi errado, me desculpe!!
OMAR2011 04/06/2017 17:39:44
#474311
Verificou o uso do sqlcommandbuilder.
Ele faz isso.
Tópico encerrado , respostas não são mais permitidas