Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde.
Estou fazendo uma aplicação usando VB.Net (Visual Studio 2008) e PostgreSql.
Aqui está minha classe de conexão com o banco:
Imports Npgsql
Imports System.Data
Public Class ConexaoBD
Dim ConexaoPG As String = "server=localhost;port=5432;userid=postgres;password=123456;database=WM_Metalurgica"
Dim conn As NpgsqlConnection = Nothing
Dim comando As NpgsqlCommand
Dim reg As Integer
Public Sub Conectar()
Try
conn = New NpgsqlConnection(ConexaoPG)
conn.Open()
Catch ex As Exception
MessageBox.Show(ex.Message, "Erro nos dados!", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Function StatusConn() As Boolean
If (conn.State = ConnectionState.Open) Then
Return True
Else
Return False
End If
End Function
Public Sub TestarConexao()
Try
Dim Conn As New ConexaoBD
Conn.Conectar()
If (Conn.StatusConn = True) Then
Form_Principal.lbl_StatusConexao.Text = "Conectado"
Form_Principal.lbl_StatusConexao.ForeColor = Color.Green
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Falha na conexão!")
End Try
End Sub
Public Sub AdicionarDados(ByVal comando As NpgsqlCommand)
Try
Conectar()
comando.Connection = conn
reg = comando.ExecuteNonQuery()
MessageBox.Show("Dados inseridos com sucesso", "Inclusão de dados", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show(ex.Message, "Erro durante Inclusão!", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
If Not conn Is Nothing Then
If conn.State = ConnectionState.Open Then
conn.Close()
comando.Parameters.Clear()
End If
End If
End Try
End Sub
End Class
Tenho uma tabela funcao com os campos id_funcao e desc_funcao.
O cadastro em funcao está funcionando perfeitamente. Consigo inserir dados na tabela.
Aqui o código do meu formulário:
Imports Npgsql
Public Class Form_Cad_Funcao
Dim comando As New NpgsqlCommand
Dim bd As New ConexaoBD
Private Sub btn_Cadastrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Cadastrar.Click
comando.CommandText = "INSERT INTO funcao(desc_funcao) VALUES(@DescrFuncao)"
comando.Parameters.AddWithValue("@DescrFuncao", txt_DescrFuncao.Text)
bd.AdicionarDados(comando)
txt_DescrFuncao.Text = ""
txt_DescrFuncao.Focus()
End Sub
Private Sub btn_Sair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Sair.Click
If txt_CodFuncao.Text = "" And txt_DescrFuncao.Text = "" Then
Close()
ElseIf MessageBox.Show("Deseja sair sem salvar?", "Atenção!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Close()
End If
End Sub
Private Sub btn_Limpar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Limpar.Click
txt_DescrFuncao.Text = ""
End Sub
Private Sub Form_Cad_Funcao_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End SubNo meu cadastro de Funcionários quero popular uma ComboBox com os dados da coluna desc_funcao da tabela[/b] funcao.
Como devo proceder?
@quintelab,
Já olhei esse site dele, mas ele usa um tal de OLEDB que nunca ouvi falar na vida. Estou usando JDBC (acho que é isso mesmo), e não acho nada em lugar algum que explique como fazer.
Obrigado pela atenção.
Mas o código não muda, você só tem que trocar seus objetos, no lugar de OleDb colocar JDBC.
Abraços...
>
Mas o código não muda, você só tem que trocar seus objetos, no lugar de OleDb colocar JDBC.
Abraços...
Se ajudar, tenho um modelo em C# usando PostgreSql e NpgSql também, segue o método que traz os dados do banco:
public class SetorDAL
{
public DataTable listarSetor()
{
DataTable tabela = new DataTable();
string strSql;
strSql = "select * from setor";
NpgsqlDataAdapter da = new NpgsqlDataAdapter(strSql, Dados.StringDeConexao);
da.Fill(tabela);
return tabela;
}
}
e pra popular a combobox
SetorDAL setor = new SetorDAL();
setorComboBox.DataSource = setor.listarSetor();Vou tentar durante meu horário de almoço (12h~14h)
Obrigado pelas respostas.
Informo se deu certo após tentar.
É. Não consegui não.
@m3oliveira,
Há algumas inconsistências no código que você me passou quando escrevo aqui no VB. Tentei adaptar, mas não adianta. Não vai. Apenas seleciona as linhas, mas não retorna erro algum.
@quintelab,
Tentei alterar os objetos, mas continua não dando certo...
>
É. Não consegui não.
@m3oliveira,
Há algumas inconsistências no código que você me passou quando escrevo aqui no VB. Tentei adaptar, mas não adianta. Não vai. Apenas seleciona as linhas, mas não retorna erro algum.
Aqui funciona perfeitamente.Então vou deixar para quem conhece VB ajudar, coloquei mesmo porque pensei que pudesse servir, porém não sei nada de vb.
Abraço e boa sorte.
>
Aqui funciona perfeitamente.Então vou deixar para quem conhece VB ajudar, coloquei mesmo porque pensei que pudesse servir, porém não sei nada de vb.
Abraço e boa sorte.
Obrigado pela ajuda cara.
Sou novo em VB.Net também. Mas apanhando a gente chega lá!
Rss...
Abraço!
Por que não deu certo? Deu algum erro? Qual erro?
Abraços...
Simplesmente não funciona. Não dá erro algum.
Tento adaptar o código em C# ao VB.Net, mas não adianta. Muita coisa difere.
Já o que você (quintelab) me passou, não vai nem com reza! =/
Consegui fazer funcionar. Assim que possível postarei aqui como fiz (passo-a-passo).
De uma olhada: http://www.macoratti.net/vbn_cbo.htm
Abraços...