Listar dados no datagrid com banco de dados firebird 3.0 embarcado.
18/06/2020
0
Boa tarde pessoal,
Sou novo no fórum, gostaria de uma ajuda se possível.
Estou criando um aplicativo em VB no visual studio 2017 usando banco de dados firebird embarcado.
A conexão e salvar registro está funcionando,estou com problema em fazer listar (carregar o data grid com registros).
Quando executo a aplicação dá "ERRO AO LISTAR O INDICE ESTAVA FORA DO INTERVALO.ELE DEVE SER NÃO NEGATIVO E MENOR QUE O TAMANHO DA COLEÇÃO. NOME DO PARAMETRO INDEX." .
Segue o código,caso alguém poder ajudar serei agradecido.
Agradeço desde já.
Private Sub btnSalvar_Click(sender As Object, e As EventArgs) Handles btnSalvar.Click
If txtApto.Text <> "" Then
Try
''''''''VERIFICAR SE O APTO JÁ ESTÁ CADASTRADO
Abrir()
Dim cmdPRO As FbCommand
Dim readerPRO As FbDataReader
Dim sqlPRO As String
sqlPRO = "SELECT * FROM CAD_APTOS where APTO = ''''''''" & txtApto.Text & "'''''''' "
cmdPRO = New FbCommand(sqlPRO, con)
readerPRO = cmdPRO.ExecuteReader()
If readerPRO.Read = True Then
readerPRO.Close()
MsgBox("Apto já cadastrado")
txtApto.Text = ""
txtApto.Focus()
Exit Sub
End If
readerPRO.Close()
Abrir()
Dim cmd As FbCommand
Dim sql As String
sql = "INSERT INTO CAD_APTOS (APTO) VALUES (''''''''" & txtApto.Text & "'''''''') "
cmd = New FbCommand(sql, con)
cmd.ExecuteNonQuery()
MsgBox("Salvo com Sucesso!!")
Listar()
DesabilitarCampos()
Limpar()
Catch ex As Exception
MsgBox("Erro ao Salvar!!" + ex.Message)
End Try
Else
MsgBox("Preencha os campos!!")
End If
End Sub
Sub Limpar()
txtApto.Text = ""
End Sub
Private Sub HabilitarCampos()
txtApto.Enabled = True
End Sub
Private Sub DesabilitarCampos()
txtApto.Enabled = False
End Sub
Sub InativarBotoes()
btnEditar.BackgroundImage = My.Resources.btnEditarInativo
btnSalvar.BackgroundImage = My.Resources.btnSalvarInativo
btnDeletar.BackgroundImage = My.Resources.btnDeletarUserInativo
btnEditar.Enabled = False
btnSalvar.Enabled = False
btnDeletar.Enabled = False
End Sub
Sub Listar()
Try
Abrir()
Dim ds As New DataSet
Dim da As FbDataAdapter
Dim sql As String = "Select * from CAD_APTOS"
da = New FbDataAdapter(sql, con)
da.Fill(ds)
dg.DataSource = ds
FormatarDG()
Catch ex As Exception
MsgBox("Erro ao listar" & vbCrLf & ex.Message)
End Try
End Sub
Private Sub FormatarDG()
dg.Columns(0).Visible = False
dg.Columns(0).HeaderText = "Id da Apto"
dg.Columns(1).HeaderText = "Apto"
End Sub
Sou novo no fórum, gostaria de uma ajuda se possível.
Estou criando um aplicativo em VB no visual studio 2017 usando banco de dados firebird embarcado.
A conexão e salvar registro está funcionando,estou com problema em fazer listar (carregar o data grid com registros).
Quando executo a aplicação dá "ERRO AO LISTAR O INDICE ESTAVA FORA DO INTERVALO.ELE DEVE SER NÃO NEGATIVO E MENOR QUE O TAMANHO DA COLEÇÃO. NOME DO PARAMETRO INDEX." .
Segue o código,caso alguém poder ajudar serei agradecido.
Agradeço desde já.
Private Sub btnSalvar_Click(sender As Object, e As EventArgs) Handles btnSalvar.Click
If txtApto.Text <> "" Then
Try
''''''''VERIFICAR SE O APTO JÁ ESTÁ CADASTRADO
Abrir()
Dim cmdPRO As FbCommand
Dim readerPRO As FbDataReader
Dim sqlPRO As String
sqlPRO = "SELECT * FROM CAD_APTOS where APTO = ''''''''" & txtApto.Text & "'''''''' "
cmdPRO = New FbCommand(sqlPRO, con)
readerPRO = cmdPRO.ExecuteReader()
If readerPRO.Read = True Then
readerPRO.Close()
MsgBox("Apto já cadastrado")
txtApto.Text = ""
txtApto.Focus()
Exit Sub
End If
readerPRO.Close()
Abrir()
Dim cmd As FbCommand
Dim sql As String
sql = "INSERT INTO CAD_APTOS (APTO) VALUES (''''''''" & txtApto.Text & "'''''''') "
cmd = New FbCommand(sql, con)
cmd.ExecuteNonQuery()
MsgBox("Salvo com Sucesso!!")
Listar()
DesabilitarCampos()
Limpar()
Catch ex As Exception
MsgBox("Erro ao Salvar!!" + ex.Message)
End Try
Else
MsgBox("Preencha os campos!!")
End If
End Sub
Sub Limpar()
txtApto.Text = ""
End Sub
Private Sub HabilitarCampos()
txtApto.Enabled = True
End Sub
Private Sub DesabilitarCampos()
txtApto.Enabled = False
End Sub
Sub InativarBotoes()
btnEditar.BackgroundImage = My.Resources.btnEditarInativo
btnSalvar.BackgroundImage = My.Resources.btnSalvarInativo
btnDeletar.BackgroundImage = My.Resources.btnDeletarUserInativo
btnEditar.Enabled = False
btnSalvar.Enabled = False
btnDeletar.Enabled = False
End Sub
Sub Listar()
Try
Abrir()
Dim ds As New DataSet
Dim da As FbDataAdapter
Dim sql As String = "Select * from CAD_APTOS"
da = New FbDataAdapter(sql, con)
da.Fill(ds)
dg.DataSource = ds
FormatarDG()
Catch ex As Exception
MsgBox("Erro ao listar" & vbCrLf & ex.Message)
End Try
End Sub
Private Sub FormatarDG()
dg.Columns(0).Visible = False
dg.Columns(0).HeaderText = "Id da Apto"
dg.Columns(1).HeaderText = "Apto"
End Sub
Samuel
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)