Ir para conteúdo
Fórum Script Brasil
  • 0

RecordSet


Carlos Rocha

Pergunta

Ola, gostaria de saber se tem jeito de fazer um RecordSet sem ser nem em ADO nem em DAO?

Meu código para conexão do mysql com o VB (sem ODDC) é:

Imports MySql.Data.MySqlClient
'Comentando varias linhas Ctrl + K + C
'Descomentando varias linhas Ctrl + K + U
Public Class DBConnection
    Dim Conexao As MySqlConnection
    Dim cmd As MySqlCommand = New MySqlCommand()
    Dim dt As DataTable
    Public Sub New()
        Conexao = New MySqlConnection()
    End Sub

    Public Sub OpenConnection()
        Dim strConnString As String = "server=localhost;userid=root;password=;database=Vendas"

        If Conexao Is Nothing Or Conexao.State = ConnectionState.Broken Or Conexao.State = ConnectionState.Closed Then
            Conexao = New MySqlConnection()
            Conexao.ConnectionString = strConnString
            Conexao.Open()
        End If

    End Sub

    Public Sub CloseConnection()
        If Conexao.State = ConnectionState.Open Then
            Conexao.Close()
            Conexao.Dispose()
            Conexao = Nothing
        End If
    End Sub
End Class

Se tem, como ficaria então?

Editado por Carlos Rocha
Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Pega loa que ficou pronto.

form de cadastro com load alimentando textbox's e gridviwie.

parte de pesquisa dentro do mesmo form de cadastro (nada de abrir janelinha) com a mesma gridview filtrando:

http://www.carcleo.com/vendas.zip

será necessario criar as taelas no banco (já tem um arquivo .sql com as tabelas criadas la)

Agora preciso de:

1) Validaçao de formulario,

if nome.txt = "" then 
 messagebox.show("Preencha Nome!") 
 nome.focus() 
 exit
endif

No vb não to sabendo fazer. Ele da a mensagem "Preencha Nome!", joga o focus no campo nome mas não para a execução e acaba gravando mesmo assim com campos vazios.

2) Uma função que valide cpf/cnpj

3) E, uma forma de fazer meu programinha de desktop em vb abrir as janelas dos forms filhos (isMDIContainer:=False) abrirem maximizadas. Eu coloco na ultima propiedade do form, na propriedade windows state do form Maximized mas não maximiza de jeito nenhum.

O que pode ser feitro nesses 3 casos?

Um abç!

Editado por Carlos Rocha
Link para o comentário
Compartilhar em outros sites

  • 0

Olá, Carlos.

Para o seu primeiro problema, é necessário saber o que vem antes e depois desse seu código. A propósito, o que é nome.txt? O código está compilando normalmente?

Para efeito de boas práticas, vamos evitar o uso do exit, também.

Quanto à validação de CPF/CNPJ, você pode criar seu próprio algoritmo. Veja como funciona e mão na massa. :D

Seria realmente o melhor modo de aprender. Os links abaixo podem te ajudar:

Validação de CPF

Validação de CNPJ

isMDIContainer:=False ??? Delphi? hehehe

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Junior.

isMDIContainer:=False é coisa do VS.net

no delphi é MDIForm = pai ou filho, ou normal

rss

mas,

sobre o txt é text mas aqui digitei errado.

SOBRE a validação não entendi o depende do que vem antes e depois

O código que to usando, se usar ele dentro do botão SALVAR,da certo mas se dentro do botão SALVAR eu chamar uma função que chama esse código ai não funciona:

if nome.text = "" then 
messagebox.show("Preencha Nome!") 
nome.focus() 
exit sub
endif
ou
Public Function valida()
        If Nome.Text = "" Then
            MessageBox.Show("Preencha Nome!")
            Nome.Focus()
            Exit Function
        End If
    End Function
Queria aproveitar aqui para pedir masi uma ajuda, o código abaixo seria para habilitar a tecla enter para saltar de um textbox para outra no preenchimento do form mas acho que não funciona na .Net. Como seria na .Net?
Private Sub Clientes_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
        'permitir que a mudança de um campo para outro do formulário seja possível com o pressionamento da tecla ENTER 
        If e.KeyChar = Convert.ToChar(13) Then
            e.Handled = True
            SendKeys.Send("{TAB}")
        End If
    End Sub

Agora, e sobre o form maximizado?

Link para o comentário
Compartilhar em outros sites

  • 0

desculpe mais uma vez.

não estou usando como fuinção não.

To usando como procidure(rsrs) mesmo (copiei codigo errado).

To usando assim

Public sub valida()
        If Nome.Text = "" Then
            MessageBox.Show("Preencha Nome!")
            Nome.Focus()
            Exit Sub
        End If
    End sub
E, para chamar:
valida()

Faz a validação normal, seta o focus no campo nome mas não para a execução.

E quantos às outras dúvidas?

Obrigado pela sua atenção!

Link para o comentário
Compartilhar em outros sites

  • 0

Rsrs... calma, calma. Uma dúvida de cada vez.

Se me permite, procure utilizar a função abaixo:

Public Function ValidaCampo(ByVal campo As String) As Boolean
    Dim validez As Boolean = False
        
    If campo <> String.Empty Then
            validez = True
    End If

    Return validez
End Function

Link para o comentário
Compartilhar em outros sites

  • 0

Aqui, aproveitando o post,como faço para fazer o valor f ou j da variavel tip chegar la no final da clausula insert no sql?

Só da que a variavel não retornou valor.

Esse tipo1 e tipo2 são RadioButtons pois procurei RadioGroup no VS até encontrar e não encontrei!(rsrs)

Private Sub incluirRegistro(ByVal dr As DataRow)
        Dim tip As String
        Dim databanco As Date = Date.Now
        If tipo1.Checked = True Then
            tip = "f"
        End If
        If tipo2.Checked = True Then
            tip = "j"
        End If

        Dim sql As String = "INSERT INTO " & tabela & " (nome,cpf_cnpj,endereco,email,ativo,data,tipo)VALUES ('" & Nome.Text & "','" & cpf_cnpj.Text & "','" & Endereco.Text & "','" & Email.Text & "','S','" & databanco & "','" & tip & "')"
        ds = accDb.ExecuteDS(sql, tabela)
        Try
            MessageBox.Show("registro de Usuário incluido com sucesso.")
            exibirDados(registro)
        Catch ex As Exception
            MessageBox.Show("Erro ao efetuar a conexão com a base de dados : " + ex.Message)
        End Try
    End Sub

Editado por Carlos Rocha
Link para o comentário
Compartilhar em outros sites

  • 0
Aqui, aproveitando o post,como faço para fazer o valor f ou j da variavel tip chegar la no final da clausula insert no sql?

Só da que a variavel não retornou valor.

Esse tipo1 e tipo2 são RadioButtons pois procurei RadioGroup no VS até encontrar e não encontrei!(rsrs)

Private Sub incluirRegistro(ByVal dr As DataRow)
        Dim tip As String
        Dim databanco As Date = Date.Now
        If tipo1.Checked = True Then
            tip = "f"
        End If
        If tipo2.Checked = True Then
            tip = "j"
        End If

        Dim sql As String = "INSERT INTO " & tabela & " (nome,cpf_cnpj,endereco,email,ativo,data,tipo)VALUES ('" & Nome.Text & "','" & cpf_cnpj.Text & "','" & Endereco.Text & "','" & Email.Text & "','S','" & databanco & "','" & tip & "')"
        ds = accDb.ExecuteDS(sql, tabela)
        Try
            MessageBox.Show("registro de Usuário incluido com sucesso.")
            exibirDados(registro)
        Catch ex As Exception
            MessageBox.Show("Erro ao efetuar a conexão com a base de dados : " + ex.Message)
        End Try
    End Sub
Tente assim (no código abaixo, verifique como é realizada a condição):
Dim tip As String = "j"
If tipo1.Checked = True Then
    tip = "f"
End If

Link para o comentário
Compartilhar em outros sites

  • 0

Não querendo incomodar mas já incomodando,. preciso de + uma força de voces não esquecendo de agradecer pelas ajudas já a mim prestadas.

Seguinte:

tenho o código de insert no banco e, quando chega na parte de gravar dinheiro no banco, ai ele tira da virgula pra traz tipo digito 31,25 vai para o banco 35. O ,25 não vai.

Gostaria de saber onmde estou errando:

Eis o código: (no banco é decimal(5,2))

Private Sub incluirRegistro(ByVal dr As DataRow)
        Dim sql As String = "INSERT INTO " & tabela & " (descricao,preço,unidade,ativo,data)VALUES ('" & Descricao.Text & "','" & preço.Text & "','" & Unidade.Text & "','S','" & Format(Date.Today, "yyyy-MM-dd") & "')"
        ds = accDb.ExecuteDS(sql, tabela)
        Try
            MessageBox.Show("Produto registrado com sucesso.")
            exibirDados(registro)
        Catch ex As Exception
            MessageBox.Show("Erro ao efetuar a conexão com a base de dados : " + ex.Message)
        End Try
    End Sub

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...