Carcleo 4 Denunciar post Postado Novembro 4, 2008 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 ClassSe tem, como ficaria então? Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Novembro 5, 2008 Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Windows Applications Acho que o RecordSet que você deseja fazer no dotnet é o DataReader, de uma pesquisada. Tem muita coisa sobre como usar. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Novembro 5, 2008 pessoal, estou estudando sozinho e estou tendo muita dificuldade para aprender. primeiro por não ter um professor e segundo porque o pessoal não esta respondendo meus post's. Eu preciso dessa resposta para continuar. conto com voces quintelab, tem como você esplicar um pouco meçlhor tua resposta fazendo um favor? Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Novembro 5, 2008 Não entendi seu comentário. To te respondendo ué. O que você quer é buscar os dados de uma tabela correto? No dotnet não existe RecordSet, você deve utilizar o DataReader para trazer os dados. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Novembro 5, 2008 Ok. Então vamos la: no form Clientes, tenho, os textbox's e um gridview exibindo ao mesmo tempo os registros de uma consulta. junto ao gridview, tenho uma textbox para fazer pesquisa e o resultado do filtro da pesquisa é exibido no mesmo gridview que exibe os dados no load do form. Essa textboix da pesquisa, o cara vai digitando os nomes ew a medida que o cara digita vai filtrando. Acontece, que quando o form abre(load), as pesições dos registros da gridview e das textbox's (navegação) são as mesmas (1º registro, 2º, 3º etc..) mas, quando começo a digitar na textbox pesquisa e os resultados vão filtrando, dai, o 3º registro da textbox ja não é o mesmo 3º registro que aparece na gridview aí, me joga no mato. Preciso de fazer um forma de pegar ou a posição do registro da gridview ou o CodigoID do registro e comparar com os registros que estão sendo exibidos nas textbox's e ver qual é a posição que o registro filtrado na gridview esta na lista de registros das textbox's. Dai jpogo o registro da grid view pra as textbox e posso edita-los fora da gridview. Experimenbtei fazer assim, mas deu certo, na hora que cliko em editar edita o primeiro registro: dt.PrimaryKey = New DataColumn() {dt.Columns(0)} 'Where 0 is the index of the column that's your key dr = dt.Rows.Find(m)E ai, como faço?meus códigos Private Sub Clientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Try Dim sql As String = "Select * from " & tabela & " where ativo='S'" ds = accDb.ExecuteDS(sql, tabela) dt = ds.Tables(tabela) DGWClientes.DataSource = ds.Tables(0).DefaultView registro = dt.Rows.Count - 1 exibirDados(registro) desabilita() If dt.Rows.Count = 0 Then Primeiro.Enabled = False Anterior.Enabled = False Proximo.Enabled = False Ultimo.Enabled = False Atualizar.Enabled = False Eliminar.Enabled = False Pesquisar.Enabled = False End If If dt.Rows.Count > 0 Then registro = 0 Primeiro_Click(Nothing, Nothing) Else registro = -1 End If Catch ex As Exception MessageBox.Show("Erro: " & ex.Message, "Sem conexão", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End Try End Sub Private Sub P_Nome_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles P_Nome.TextChanged Try Dim sql As String = "Select * from " & tabela & " where ativo='S' and nome like '" & P_Nome.Text & "%'" ds = accDb.ExecuteDS(sql, tabela) DGWClientes.DataSource = ds.Tables(0).DefaultView Catch ex As Exception MessageBox.Show("Erro: " & ex.Message, "Sem conexão", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End Try End Sub Private Sub Selecionar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Selecionar.Click Dim linha As Integer = DGWClientes.CurrentRow.Index registro = DGWClientes.Item("clienteID", linha).Value.ToString exibirDados2(registro) End Sub Private Sub atribuirDados(ByVal dr As DataRow) dr("nome") = Nome.Text dr("endereco") = Endereco.Text dr("email") = Email.Text End Sub Private Sub exibirDados(ByVal m As Integer) Dim i As Integer = dt.Rows.Count - 1 If m < 0 OrElse i < 0 Then Exit Sub 'If m > i Then Dim dr As DataRow = dt.Rows(m) Codigo.Text = dr("clienteID") Nome.Text = dr("nome") Endereco.Text = dr("endereco") Email.Text = dr("email") End Sub Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Novembro 6, 2008 Não consegui entender muito bem. O cara vai digitando e já vai filtrando? Ele clica em algum botão pesquisar? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Novembro 7, 2008 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 endifNo 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ç! Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Novembro 7, 2008 Para parar a execução utilize um return ou Break. Não me lembro qual deles é o correto no VB. Validação de CPF/CNPJ: http://www.macoratti.net/vbn_vdoc.htm Mas você esta colocando nos forms filhos ou no form que esta chamando? O correto seria colocar nos forms filhos. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Novembro 7, 2008 não mostra break na lista de opções, return e exit não estão parando a execução valeu pelo funçao cnpj to colocando nos forms filhos Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Novembro 9, 2008 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 Compartilhar este post Link para o post Compartilhar em outros sites
sublyer 0 Denunciar post Postado Novembro 14, 2008 Da uma olhada em uma classe que temos aqui no fórum, pode lhe auxiliar no desenvolvimento. http://forum.imasters.com.br/index.php?showtopic=261619 Flwww, grande abraço Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Novembro 14, 2008 Não querendo incomodar mas ja incomodando,. preciso de + uma força de voces não esquecendo de agradecer pelas ajudas ja 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,preco,unidade,ativo,data)VALUES ('" & Descricao.Text & "','" & Preco.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 Compartilhar este post Link para o post Compartilhar em outros sites