Listar dados no datagrid com banco de dados firebird 3.0 embarcado.
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
Curtidas 0