none
Ajuda - Conexão e gravação no BD pelo VB RRS feed

  • Pergunta

  • Boa tarde, sou novo aqui e estou aprendendo VB e estou com uma dúvida enorme, popis não consigo fazer a conexão com BD e fazer gravar também. Abaixo está o código que estou usando. Quem puder me ajuda. Agradeço.
    
    
    
    Imports System.Data
    
    Imports Npgsql
    
    Imports System.Data.SqlClient
    
    Public Class frmTesteBotoes
    
    Dim vSQL As String
    
    Dim vOperacao As String
    
    Dim ConexaoPG As String = "Server=localhost;Port=5432;User Id=postgres;Password=postgres;Database=agenda;Protocol=3;SSL=false; Pooling=true;MinPoolSize=1;MaxPoolSize=20;Encoding=UNICODE;Timeout=15;SslMode=Disable;"
    
    Dim conn As Npgsql.NpgsqlConnection = Nothing
    
    Dim conect As SqlClient.SqlCommand
    
    Private Sub AtivarGravarCancelar()
    
    btnGravar.Enabled = True
    
    btnCancelar.Enabled = True
    
    btnAlterar.Enabled = False
    
    btnExcluir.Enabled = False
    
    btnConsultar.Enabled = False
    
    btnIncluir.Enabled = False
    
    btnSair.Enabled = False
    
    txtCodigo.Enabled = True
    
    txtNome.Enabled = True
    
    txtTelefone.Enabled = True
    
    End Sub
    
    Private Sub DesativaGravarCancelar()
    
    btnGravar.Enabled = False
    
    btnCancelar.Enabled = False
    
    btnAlterar.Enabled = True
    
    btnExcluir.Enabled = True
    
    btnConsultar.Enabled = True
    
    btnIncluir.Enabled = True
    
    btnSair.Enabled = True
    
    txtCodigo.Enabled = False
    
    txtNome.Enabled = False
    
    txtTelefone.Enabled = False
    
    End Sub
    
    Private Sub frmTesteBotoes_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
    
    
    Try
    
    'Cria uma Instancia de NpgsqlConnection na variavel conn
    
    conn = New Npgsql.NpgsqlConnection(ConexaoPG)
    
    'Abre a conexo
    
    conn.Open()
    
    conn.BeginTransaction()
    
    'Declara e atribui a instrucao SQL de consulta
    
    Dim SQL As String = "SELECT * FROM clientes"
    
    'aki esta falando assim selecione (* significa todos) as colunas da tabela usuarios
    
    
    'Instancia o NpgsqlDataAdapter responsavel pela comunicao
    
    ' feita a leitura dos dados preenchendo o dataset
    
    Dim da As Npgsql.NpgsqlDataAdapter = New Npgsql.NpgsqlDataAdapter(SQL, conn)
    
    'Instacia um DataSet
    
    Dim ds As DataSet = New DataSet()
    
    'Preenche o DataAdapter
    
    da.Fill(ds, "clientes")
    
    'Atribiu um Datasource a Grid
    
    DataGridView1.DataSource = ds.Tables("clientes").DefaultView
    
    'aki vai mostra mensagem de erro causo houver
    
    Catch ex As Exception
    
    MsgBox(ex.Message)
    
    Finally
    
    If Not conn Is Nothing Then
    
    'se conexao foi estabelecida entao
    
    If conn.State = ConnectionState.Open Then
    
    'fecha a conexao
    
    
    conn.Close()
    
    End If
    
    End If
    
    End Try
    
    
    End Sub
    
    Private Sub frmTesteBotoes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
    DesativaGravarCancelar()
    
    End Sub
    
    Private Sub btnIncluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluir.Click
    
    vOperacao = "INC"
    
    AtivarGravarCancelar()
    
    txtCodigo.Text = ""
    
    txtNome.Text = ""
    
    txtTelefone.Text = ""
    
    txtCodigo.Focus()
    
    
    End Sub
    
    Private Sub btnAlterar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAlterar.Click
    
    vOperacao = "ALT"
    
    AtivarGravarCancelar()
    
    txtCodigo.Enabled = False
    
    txtNome.Focus()
    
    
    End Sub
    
    Private Sub btnGravar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGravar.Click
    
    If vOperacao = "INC" Then
    
    'rotina de incluso
    
    vSQL = "insert into clientes (codigo, nome, telefone) values ("
    
    vSQL = vSQL & CInt(txtCodigo.Text) & ","
    
    vSQL = vSQL & "'" & txtNome.Text & "',"
    
    vSQL = vSQL & "'" & txtTelefone.Text & "')"
    
    conn.Open()
    
    conect.ExecuteNonQuery()
    
    conn.Close()
    
    
    
    ElseIf vOperacao = "ALT" Then
    
    'rotina de alterao
    
    vSQL = "update clientes set "
    
    vSQL = vSQL & "nome = '" & txtNome.Text & "',"
    
    vSQL = VScroll & "telefone '" & txtTelefone.Text & "'"
    
    vSQL = vSQL & " where codigo = " & CInt(txtCodigo.Text)
    
    conn.Open()
    
    conect.ExecuteNonQuery()
    
    conn.Close()
    
    End If
    
    DesativaGravarCancelar()
    
    
    vOperacao = ""
    
    End Sub
    
    Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
    
    DesativaGravarCancelar()
    
    
    vOperacao = ""
    
    End Sub
    
    Private Sub btnExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcluir.Click
    
    If MsgBox("Confirma o Excluir?", MsgBoxStyle.YesNo, "Excluir") = MsgBoxResult.Yes Then
    
    vSQL = " delete from clientes where codigo =" & CInt(txtCodigo.Text)
    
    End If
    
    End Sub
    
    Private Sub btnConsultar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConsultar.Click
    
    Dim vChave As String
    
    vChave = InputBox("Digite o cdigo", "Consulta")
    
    If IsNumeric(vChave) Then
    
    vSQL = "select *from clientes where codigo =" & CInt(vChave)
    
    End If
    
    End Sub
    
    Private Sub btnSair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSair.Click
    
    End
    
    End Sub
    
    End Class
    

    Maccro
    terça-feira, 10 de maio de 2011 15:48