none
COMO ESTE CODIGO FICARIA NO VB 2008 RRS feed

  • Pergunta

  • AI  GALERA GOSTARIA DE SABER COMO FAZER PARA QUE ESSE CODIGO FUNCIONE NO VB 2008.


    'Rotina de Consulta:
    Public Function Consultar(ByVal intCodigo As Integer) As Variant
    Set rs = CreateObject("ADODB.Recordset")

    With rs
    .Open "select * from pessoal where codigo=" & intCodigo & "", cn, adOpenKeyset, adLockOptimistic
    If .RecordCount = 0 Then
    MsgBox "Código Inválido", vbExclamation, "Erro"
    Else
    frmagenda.lblCod = !codigo
    frmagenda.txtNome = IIf(IsNull(!nome), Empty, !nome)
    frmagenda.txtEnd = IIf(IsNull(!End), Empty, !End)
    frmagenda.txtFone = IIf(IsNull(!fone), Empty, !fone)
    End If
    .Close
    End With

    End Function
    domingo, 31 de janeiro de 2010 03:25

Respostas

  • Fala CarmosJúnior, blz?

    Primeiramente Adicione uma referência ao namespace de acesso a dados:

    Imports

     

    System.Data.SqlClient

    Depois Assim:



    'Rotina de Consulta:
        Public Function Consultar(ByVal intCodigo As Integer) As Object
    
            Dim query As String = "select * from pessoal where codigo=" & intCodigo
            Dim conexao As New SqlConnection("ConnectionString")
            Dim comando As New SqlCommand(query, conexao)
            Dim dr As SqlDataReader
            Try
                conexao.Open()
                dr = comando.ExecuteReader()
                If dr.HasRows Then
                    While dr.Read()
                        frmagenda.lblCod = dr("codigo").ToString()
                        If Not IsDBNull(dr("Nome")) Then
                            frmagenda.txtNome = dr("Nome").ToString()
                        End If
                        If Not IsDBNull(dr("End")) Then
                            frmagenda.txtNome = dr("End").ToString()
                        End If
                        If Not IsDBNull(dr("fone")) Then
                            frmagenda.txtNome = dr("fone").ToString()
                        End If
                        
                    End While
                Else
                    MsgBox("Código Inválido", vbExclamation, "Erro")
                End If
            Catch
                Console.WriteLine("Ocorreu um Erro.")
            Finally
                dr.Close()
                conexao.Close()
            End Try
            
    
        End Function

    Espero ter te ajudado.

    Att. Alan.

    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    • Sugerido como Resposta Américo Arvani segunda-feira, 1 de fevereiro de 2010 11:07
    • Marcado como Resposta CARMOJUNIOR sexta-feira, 5 de fevereiro de 2010 01:57
    segunda-feira, 1 de fevereiro de 2010 10:56

Todas as Respostas

  • Fala CarmosJúnior, blz?

    Primeiramente Adicione uma referência ao namespace de acesso a dados:

    Imports

     

    System.Data.SqlClient

    Depois Assim:



    'Rotina de Consulta:
        Public Function Consultar(ByVal intCodigo As Integer) As Object
    
            Dim query As String = "select * from pessoal where codigo=" & intCodigo
            Dim conexao As New SqlConnection("ConnectionString")
            Dim comando As New SqlCommand(query, conexao)
            Dim dr As SqlDataReader
            Try
                conexao.Open()
                dr = comando.ExecuteReader()
                If dr.HasRows Then
                    While dr.Read()
                        frmagenda.lblCod = dr("codigo").ToString()
                        If Not IsDBNull(dr("Nome")) Then
                            frmagenda.txtNome = dr("Nome").ToString()
                        End If
                        If Not IsDBNull(dr("End")) Then
                            frmagenda.txtNome = dr("End").ToString()
                        End If
                        If Not IsDBNull(dr("fone")) Then
                            frmagenda.txtNome = dr("fone").ToString()
                        End If
                        
                    End While
                Else
                    MsgBox("Código Inválido", vbExclamation, "Erro")
                End If
            Catch
                Console.WriteLine("Ocorreu um Erro.")
            Finally
                dr.Close()
                conexao.Close()
            End Try
            
    
        End Function

    Espero ter te ajudado.

    Att. Alan.

    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    • Sugerido como Resposta Américo Arvani segunda-feira, 1 de fevereiro de 2010 11:07
    • Marcado como Resposta CARMOJUNIOR sexta-feira, 5 de fevereiro de 2010 01:57
    segunda-feira, 1 de fevereiro de 2010 10:56
  • Carmo Junior,

    Para se conectar ao banco (equivalente ao 'cn' do seu código), utilize a classe xxConnection. Onde xx é o prefixo para o tipo de conexão que você irá utilizar (ex.: OleDbConnection / SqlConnection), lembre-se disso durante esse post.
    Lembre-se de fazer a referência (using) ao namespace do tipo de conexão que você irá utilizar (using System.Data.OleDb para o OleDb  / using System.Data.SqlClient para Sql).

    Feito isso, instâncie uma nova classe do tipo selecionado e especifique a string de conexão. E então abra ela através do method Open.

                OleDbConnection cn = new OleDbConnection(@"String_De_Conexao_HERE");
                cn.Open();
    Agora para executar uma query, instâncie um novo  xxCommand e especifique nos parâmetros a query e o objeto de conexão.

                OleDbCommand cmd = new OleDbCommand("select * from tabela", cn);
    Um objeto equivalente ao RecordSet no teu código, seria o xxDataReader.

                OleDbDataReader dr = cmd.ExecuteReader(); //Executa a query (definida acima)
    Para a validação equivalente à do código acima "If .RecordCount = 0 Then" seria:

                if (!dr.Read())
                {
                    MessageBox.Show("Código Inválido", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else
                {
                    Text = Convert.ToString(dr["NOME_DO_CAMPO"]);
                }
    E por fim, liberar os recursos utilizados.
    cmd.Dispose();

    Recomendo que você dê uma olhada no site do macoratti.net, que possui bons artigos em vb6/vb.net.
    segunda-feira, 1 de fevereiro de 2010 11:13
  • AI VALEU GALERA PELAS RESPOSTA.
    VCS ME AJUDARAM BASTANTE.

    sexta-feira, 5 de fevereiro de 2010 01:58