CONSULTA SQL POSTGRE

DUSK 30/09/2011 11:40:55
#385587
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
ALTAIR148 30/09/2011 12:15:24
#385592
Resposta escolhida
Boa tarde,

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.
DUSK 04/10/2011 14:44:39
#385945
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
ALTAIR148 04/10/2011 17:28:46
#385965
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