CONSULTA SQL POSTGRE
No VB6 utilizava o recordset. Como estou tentando aprender VB.NET gostaria de modificar o método.
[ô]<<< NO MODULO >>>
Public Db As Database
[ô][ô]<<< EFETUANDO UMA CONSULTA >>>
Sql$ = [Ô]select * from cadastro where matricula = [ô][Ô] & TxtMatricula.text & [Ô][ô];[Ô]
Set Pes = Db.OpenRecordset(Sql$)
If Pes.RecordCount > 0 Then
If Not IsNull(Pes!digito) Then TxtDg.text = (Pes!digito)
End if
[txt-color=#e80000]Agora pergunto:
01) No VB.NET posso declarar isto apenas num módulo?[/txt-color]
Imports System.Data
Imports Npgsql
[txt-color=#e80000]02) Como passar um critério para consulta no DataSet e verificar se ele retornou um valor?[/txt-color]
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
[ô]<<< CONEXÃO BD >>>
Dim ConexaoPG As String = [Ô]Server=127.0.0.1;Port=5432;Userid=postgres;Password=vbmania;Database=teste[Ô]
Dim conn As NpgsqlConnection = Nothing
Try
[ô]Cria uma Instancia de NpgsqlConnection na variavel conn
conn = New NpgsqlConnection(conexaoPG)
[ô]Abre a conexão
conn.Open()
[ô]Declara e atribui a instrucao SQL de consulta
Dim SQL As String = [Ô]SELECT matricula, nome, rg FROM cadastro[Ô]
[ô]Instancia o NpgsqlDataAdapter responsavel pela comunicação
[ô]é feita a leitura dos dados preenchendo o dataset
Dim da As Npgsql.NpgsqlDataAdapter = New NpgsqlDataAdapter(SQL, conn)
[ô]Instacia um DataSet
Dim ds As DataSet = New DataSet()
[ô]Preenche o DataAdapter
da.Fill(ds, [Ô]cadastro[Ô])
[ô]Atribiu um Datasource a Grid
DataGridView1.DataSource = ds.Tables([Ô]cadastro[Ô]).DefaultView
Catch ex As Exception
MsgBox(ex.Message)
Finally
If Not conn Is Nothing Then
If conn.State = ConnectionState.Open Then
conn.Close()
End If
End If
End Try
End Sub
End Class
[ô]<<< NO MODULO >>>
Public Db As Database
[ô][ô]<<< EFETUANDO UMA CONSULTA >>>
Sql$ = [Ô]select * from cadastro where matricula = [ô][Ô] & TxtMatricula.text & [Ô][ô];[Ô]
Set Pes = Db.OpenRecordset(Sql$)
If Pes.RecordCount > 0 Then
If Not IsNull(Pes!digito) Then TxtDg.text = (Pes!digito)
End if
[txt-color=#e80000]Agora pergunto:
01) No VB.NET posso declarar isto apenas num módulo?[/txt-color]
Imports System.Data
Imports Npgsql
[txt-color=#e80000]02) Como passar um critério para consulta no DataSet e verificar se ele retornou um valor?[/txt-color]
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
[ô]<<< CONEXÃO BD >>>
Dim ConexaoPG As String = [Ô]Server=127.0.0.1;Port=5432;Userid=postgres;Password=vbmania;Database=teste[Ô]
Dim conn As NpgsqlConnection = Nothing
Try
[ô]Cria uma Instancia de NpgsqlConnection na variavel conn
conn = New NpgsqlConnection(conexaoPG)
[ô]Abre a conexão
conn.Open()
[ô]Declara e atribui a instrucao SQL de consulta
Dim SQL As String = [Ô]SELECT matricula, nome, rg FROM cadastro[Ô]
[ô]Instancia o NpgsqlDataAdapter responsavel pela comunicação
[ô]é feita a leitura dos dados preenchendo o dataset
Dim da As Npgsql.NpgsqlDataAdapter = New NpgsqlDataAdapter(SQL, conn)
[ô]Instacia um DataSet
Dim ds As DataSet = New DataSet()
[ô]Preenche o DataAdapter
da.Fill(ds, [Ô]cadastro[Ô])
[ô]Atribiu um Datasource a Grid
DataGridView1.DataSource = ds.Tables([Ô]cadastro[Ô]).DefaultView
Catch ex As Exception
MsgBox(ex.Message)
Finally
If Not conn Is Nothing Then
If conn.State = ConnectionState.Open Then
conn.Close()
End If
End If
End Try
End Sub
End Class
Boa tarde,
01) até onde sei tem que declaram em todos os forms.
02)
Passando critérios apra consulta.
Verificar se teve algum registro com os criterios passados.
Até mais.
01) até onde sei tem que declaram em todos os forms.
02)
Passando critérios apra consulta.
Dim SQL As String = [Ô]SELECT matricula, nome, rg FROM cadastro where nome_Campo_tabela_Condição [ô][Ô] & texbox_com_a_Condição & [Ô][ô]
Verificar se teve algum registro com os criterios passados.
If ds.Tables(0).Rows.Count = 0 Then
Msgbox([Ô]Nenhum lançamento encontrado[Ô])
Exit Sub
End If
Até mais.
Funcionou de Boa.
Mais uma vez Obrigado pela ajuda
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
conn = New NpgsqlConnection(ConexaoPG)
conn.Open()
Dim SQL As String = [Ô]SELECT matricula, nome, rg FROM cadastro where matricula = [ô][Ô] & TextBox1.Text & [Ô][ô][Ô]
Dim da As Npgsql.NpgsqlDataAdapter = New NpgsqlDataAdapter(SQL, conn)
Dim ds As DataSet = New DataSet()
da.Fill(ds, [Ô]cadastro[Ô])
If ds.Tables(0).Rows.Count = 0 Then
MsgBox([Ô]Nenhum lançamento encontrado[Ô])
Else
TextBox2.Text = ds.Tables(0).Rows(0).Item([Ô]nome[Ô])
TextBox3.Text = ds.Tables(0).Rows(0).Item([Ô]rg[Ô])
Exit Sub
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
If Not conn Is Nothing Then
If conn.State = ConnectionState.Open Then
conn.Close()
End If
End If
End Try
End Sub
Mais uma vez Obrigado pela ajuda
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
conn = New NpgsqlConnection(ConexaoPG)
conn.Open()
Dim SQL As String = [Ô]SELECT matricula, nome, rg FROM cadastro where matricula = [ô][Ô] & TextBox1.Text & [Ô][ô][Ô]
Dim da As Npgsql.NpgsqlDataAdapter = New NpgsqlDataAdapter(SQL, conn)
Dim ds As DataSet = New DataSet()
da.Fill(ds, [Ô]cadastro[Ô])
If ds.Tables(0).Rows.Count = 0 Then
MsgBox([Ô]Nenhum lançamento encontrado[Ô])
Else
TextBox2.Text = ds.Tables(0).Rows(0).Item([Ô]nome[Ô])
TextBox3.Text = ds.Tables(0).Rows(0).Item([Ô]rg[Ô])
Exit Sub
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
If Not conn Is Nothing Then
If conn.State = ConnectionState.Open Then
conn.Close()
End If
End If
End Try
End Sub
Ok, amigo se a dúvida tiver sido sanada, não se esqueça de fechar o tópico.
Tópico encerrado , respostas não são mais permitidas