SALVAR DADOS DO DATATABLE
Galera boa tarde
Estou tendo dificuldade tremenda em resolver esta situação. Já havia postado aqui no forum este mesmo problema. Estou fazendo um form de Ordem de Compra onde em um grid informo os dados dos produtos. Criei via código um DataTable com as colunas e o DataSource do Grid é o DataTable. Preencho os dados e tudo beleza. Consigo salvar todos os dados no banco. O problema é que se eu for alterar alguma informação eu não consigo fazer o Update. Quando faço este mesmo esquema criação do DataSet, DataAdapter e etc. via Wizard funciona tudo certinho (insere, altera, exclui) mas escrevendo o código não estou conseguindo. Já tem meses que estou tentando vários métodos de resolver isso e não estou conseguindo. O problema é que comecei este projeto com base em um que nem me lembro onde vi de exemplo, onde nele eu tenho os forms e para cada form eu criei uma classe onde tem as instruções para manipulação de dados (insert, updade, delete, select, etc.) e nos forms eu tenho que ficar instanciando as classes.
Sinceramente já pesquisei na internet de ponta a ponta, mas o exemplo mais prático que encontrei foi fazendo tudo via Wizard. já até pensei em reescrever todo o projeto via Wizard porque até agora foi tudo no código. Isso para não ficar misturado (uma parte wizard e outra via codigo). Se alguém puder me ajudar eu agradeço muito. Já estou até meio cansado de ficar travado nesta parte do meu projeto.
Estou usando banco de dados do SQLServer Express onde tenho 2 tabelas:
TBOrdemCompra: CODIGO, FORNECEDOR...
TBOrdemCompraDetalhes: CODIGO_ORDEM_COMPRA, CODIGO_PRODUTO, QTDE, MARCA, VALOR_UNIT, VALOR_TOTAL
O Processo é o seguinte: usuário preenche os dados iniciais (que corresponde à TBORdemCompra) e lança os produtos diretamente no grid (que corresponde à TBOrdemCompraDetalhes). Uma instrução Updade insere os produtos no banco, mas se precisar alterar eu não estou conseguindo. O grid está conectado a um DataTable (para que ele funcione).
Para iniciar prepara o grid:
Sub LancarDados()
[ô]Criar as colunas no datatable
dt.Columns.Add(New DataColumn([Ô]ORDEM[Ô], GetType(Integer)))
dt.Columns.Add(New DataColumn([Ô]CODIGO[Ô], GetType(String)))
dt.Columns.Add(New DataColumn([Ô]NOME[Ô], GetType(String)))
dt.Columns.Add(New DataColumn([Ô]BITOLA[Ô], GetType(String)))
dt.Columns.Add(New DataColumn([Ô]MARCA[Ô], GetType(String)))
dt.Columns.Add(New DataColumn([Ô]QTDE[Ô], GetType(Integer)))
dt.Columns.Add(New DataColumn([Ô]VALOR_UNITARIO[Ô], GetType(Decimal)))
[ô]Define o datasoure do grid com o datatable
Me.GridPRODUTOS.DataSource = dt
End Sub
Cada linha editada uma procedure insere os dados do grid no banco. Depois para alterar não consigo simplesmente fazendo alteração no grid. Por isso queria preencher tudo no grid primeiro depois finalizar salvando. Mas e depois quando eu precisar carregar o grid novamente e fazer as alterações necessárias.
Espero ter explicado direito.
Valeu galera!
Estou tendo dificuldade tremenda em resolver esta situação. Já havia postado aqui no forum este mesmo problema. Estou fazendo um form de Ordem de Compra onde em um grid informo os dados dos produtos. Criei via código um DataTable com as colunas e o DataSource do Grid é o DataTable. Preencho os dados e tudo beleza. Consigo salvar todos os dados no banco. O problema é que se eu for alterar alguma informação eu não consigo fazer o Update. Quando faço este mesmo esquema criação do DataSet, DataAdapter e etc. via Wizard funciona tudo certinho (insere, altera, exclui) mas escrevendo o código não estou conseguindo. Já tem meses que estou tentando vários métodos de resolver isso e não estou conseguindo. O problema é que comecei este projeto com base em um que nem me lembro onde vi de exemplo, onde nele eu tenho os forms e para cada form eu criei uma classe onde tem as instruções para manipulação de dados (insert, updade, delete, select, etc.) e nos forms eu tenho que ficar instanciando as classes.
Sinceramente já pesquisei na internet de ponta a ponta, mas o exemplo mais prático que encontrei foi fazendo tudo via Wizard. já até pensei em reescrever todo o projeto via Wizard porque até agora foi tudo no código. Isso para não ficar misturado (uma parte wizard e outra via codigo). Se alguém puder me ajudar eu agradeço muito. Já estou até meio cansado de ficar travado nesta parte do meu projeto.
Estou usando banco de dados do SQLServer Express onde tenho 2 tabelas:
TBOrdemCompra: CODIGO, FORNECEDOR...
TBOrdemCompraDetalhes: CODIGO_ORDEM_COMPRA, CODIGO_PRODUTO, QTDE, MARCA, VALOR_UNIT, VALOR_TOTAL
O Processo é o seguinte: usuário preenche os dados iniciais (que corresponde à TBORdemCompra) e lança os produtos diretamente no grid (que corresponde à TBOrdemCompraDetalhes). Uma instrução Updade insere os produtos no banco, mas se precisar alterar eu não estou conseguindo. O grid está conectado a um DataTable (para que ele funcione).
Para iniciar prepara o grid:
Sub LancarDados()
[ô]Criar as colunas no datatable
dt.Columns.Add(New DataColumn([Ô]ORDEM[Ô], GetType(Integer)))
dt.Columns.Add(New DataColumn([Ô]CODIGO[Ô], GetType(String)))
dt.Columns.Add(New DataColumn([Ô]NOME[Ô], GetType(String)))
dt.Columns.Add(New DataColumn([Ô]BITOLA[Ô], GetType(String)))
dt.Columns.Add(New DataColumn([Ô]MARCA[Ô], GetType(String)))
dt.Columns.Add(New DataColumn([Ô]QTDE[Ô], GetType(Integer)))
dt.Columns.Add(New DataColumn([Ô]VALOR_UNITARIO[Ô], GetType(Decimal)))
[ô]Define o datasoure do grid com o datatable
Me.GridPRODUTOS.DataSource = dt
End Sub
Cada linha editada uma procedure insere os dados do grid no banco. Depois para alterar não consigo simplesmente fazendo alteração no grid. Por isso queria preencher tudo no grid primeiro depois finalizar salvando. Mas e depois quando eu precisar carregar o grid novamente e fazer as alterações necessárias.
Espero ter explicado direito.
Valeu galera!
Já experimentou usar OOP?
Kerplunk você pode me dar um exemplo da maneira como você fala? E aà galera alguém tem mais uma forma?
E aà galera tudo beleza? Será que alguém poderá me ajudar?
Fiz um gerador de CRUD para SQL Server um tempinho atrás. Rode-o em seu banco de dados e veja o que ele gera
Galera ninguém se manifesta! Me ajudem por favor.
Você chegou a rodar o programa que te passei?
Tópico encerrado , respostas não são mais permitidas