Fala Galera, blz?

Bom, estou com um problema ao gravar uma linha no banco de dados. Estou usando Dataset tipado.

Seguinte, tenho um método na classe Documentos que recebe como parâmetro o ID do documento e um vetor de inteiros, contendo os IDs das categorias que devo associar.

No banco, está assim: Tenho a tabela Categoria, Documento e CategoriaXDocumento. E quero que, ao editar o documento, veja quais as categorias marcadas e gravar na tabela CategoriaXDocumento. Eu fiz o código, consigo atualizar os dados do documentos, mas não to conseguindo inserir na tabela.
Eu ainda não to filtrando se a categoria já está associada ao documento, por enquanto pego tudo o que está marcado e gravo.
Se eu estiver fazendo alguma besteira, por favor me avisem...rs

Este é o código da minha classe. Não gosto muito de VB.NET, mas to precisando usar... não saco muito dele... =/



Public Sub Editar(ByVal DOC_ID As Int32, ByVal Categorias As Integer())

Try
Dim DocDS As DS_ADDTableAdapters.DOCUMENTOS_tbTableAdapter = New DS_ADDTableAdapters.DOCUMENTOS_tbTableAdapter()

Dim DocRow As DS_ADD.DOCUMENTOS_tbRow = DocDS.GetData().FindByDOC_ID(DOC_ID)

' Atualizando os dados do documento
DocRow.BeginEdit()
DocRow.TP_ID = _TP_ID
DocRow.DOC_DATA = _DOC_DATA
DocRow.DOC_NOME = _DOC_NOME
DocRow.DOC_NUMERO = _DOC_NUM
DocRow.DOC_DESCRICAO = _DOC_DESCRICAO
DocRow.DOC_QTD_PAGINAS = _DOC_QTD_PAGINAS
DocRow.DOC_STATUS = _DOC_STATUS
DocRow.AUD_LOGIN = _AUD_LOGIN
DocRow.AUD_DATA = _AUD_DATA
DocRow.EndEdit()

Dim DcDS As DS_ADDTableAdapters.DOC_CAT_tbTableAdapter = New DS_ADDTableAdapters.DOC_CAT_tbTableAdapter()
Dim DcTB As DS_ADD.DOC_CAT_tbDataTable = DcDS.GetData()

Dim CatDS As DS_ADDTableAdapters.CATEGORIAS_domTableAdapter = New DS_ADDTableAdapters.CATEGORIAS_domTableAdapter()
Dim CatTB As DS_ADD.CATEGORIAS_domDataTable = CatDS.GetData()
Dim CatRow As DS_ADD.CATEGORIAS_domRow = Nothing


For i As Integer = 0 To Categorias.Length - 1
If Categorias(i) <> 0 Then
CatRow = CatTB.FindByCAT_ID(Categorias(i))

DcTB.AddDOC_CAT_tbRow(DocRow, CatRow)

End If
Next
DcDS.Update(DcTB)

DocDS.Update(DocRow)
Catch ex As Exception
System.Diagnostics.Debug.WriteLine(ex.Message)
End Try
End Sub

---------------------

Quem puder me ajudar, agradeceria!

Abraços!

Exibições: 71

© 2019   Criado por Ramon Durães.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço