AJUSTE EM CÓDIGO DE INSER?ÃO NO BANCO

HPFS 15/06/2015 20:39:25
#447746
Olá! Alguém saberia qual ajuste necessário no código abaixo para inserir e salvar um cadastro no Banco?

Estou utilizando um código, mas ele adiciona um registro em cima do outro. Gostaria que ao clicar em Salvar, o registro seja inserido no Banco, e que o formulário fique vazio.

Meu Botão SALVAR, está com o seguinte comando:

If CódigoTextBox.Text <> [Ô][Ô] Then
MsgBox([Ô]Salvo com Sucesso[Ô], MsgBoxStyle.Information, Title:=[Ô]Sucesso![Ô])

Me.Validate()
Me.DecisõesBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.CadastrarDataSet)

CódigoTextBox.Text = String.Empty
VotoTextBox.Text = String.Empty
RelatórioTextBox.Text = String.Empty
Emenda_e_AcórdãoTextBox.Text = String.Empty

Else

MsgBox([Ô]Complete pelo menos um campo[Ô], MsgBoxStyle.Exclamation, Title:=[Ô]Aviso[Ô])
CódigoTextBox.Focus()
End If


Se alguém puder me ajudar, ficaria muito grato.
TUNUSAT 16/06/2015 08:00:58
#447757
HPFS,

Não conhecia, mas parece que o [Ô]TableAdapterManager [Ô] só faz update? Mas ele faz de forma hierárquica... Veja:
=================================================
TableAdapterManager Overview
https://msdn.microsoft.com/en-us/library/bb384426.aspx
=================================================

Para inserir precisa usar este:

=================================================
How to: Insert New Records into a Database
https://msdn.microsoft.com/en-us/library/ms233812.aspx
=================================================
[ô] Create a new row. 
Dim newRegionRow As NorthwindDataSet.RegionRow
newRegionRow = Me.NorthwindDataSet._Region.NewRegionRow()
newRegionRow.RegionID = 5
newRegionRow.RegionDescription = [Ô]NorthWestern[Ô]

[ô] Add the row to the Region table
Me.NorthwindDataSet._Region.Rows.Add(newRegionRow)


[ô] Save the new row to the database
Me.RegionTableAdapter.Update(Me.NorthwindDataSet._Region)

=================================================
Dim sqlConnection1 As New System.Data.SqlClient.SqlConnection([Ô]YOUR CONNECTION STRING[Ô])

Dim cmd As New System.Data.SqlClient.SqlCommand
cmd.CommandType = System.Data.CommandType.Text
cmd.CommandText = [Ô]INSERT Region (RegionID, RegionDescription) VALUES (5, [ô]NorthWestern[ô])[Ô]
cmd.Connection = sqlConnection1

sqlConnection1.Open()
cmd.ExecuteNonQuery()
sqlConnection1.Close()

=================================================

[][ô]s,
Tunusat.
HPFS 16/06/2015 08:24:54
#447760
No meu caso, estou com um banco em Access. O que mudaria?
ACCIOLLY 16/06/2015 10:05:48
#447761
Não use DataBindingSource, Faça como nosso colega TUNUSAT via codificação que é bem mais confiável. Pegue esse exemplo que fiz de VB.NET com access e de uma estudada nele e vc vai entender o porque que nós preferimos assim.

Té mais
TUNUSAT 16/06/2015 13:19:29
#447777
HPFS,

Idéia!
Você pode criar um função [Ô]exclusiva[Ô] para fazer as três operações: [Ô]Update[Ô], [Ô]Insert[Ô] e [Ô]Delete[Ô] passando a linha SQL (query) para dentro desta função e setando a [Ô]cmd.CommandText[Ô].

Desculpem, o exemplo está em VB6. O [Ô]cnnBP[Ô] é uma conexão global.

Class Module [ô]clsBancoDados[ô]

Option Explicit
Dim conConexao As ADODB.Connection
Dim rstBancoDados As ADODB.Recordset
Dim comCommand As ADODB.Command

Public Sub CommandText(strTexto As String)
[ô]rotina que seta os parâmetros do objeto command. Ela recebe o texto do command e o executa
Set comCommand = New Command

With comCommand
.ActiveConnection = cnnBP
.CommandType = adCmdText
.CommandText = strTexto
.Execute
End With

Set comCommand = Nothing
End Sub


[][ô]s,
Tunusat.
HPFS 20/06/2015 08:49:32
#447935
Beleza!
Obrigado pelas dicas. Assim que eu conseguir algo aqui eu posto para que mais pessoas possam aprender
Faça seu login para responder