Felipe Machado Posted September 5, 2016 at 06:48 PM Report #598642 Posted September 5, 2016 at 06:48 PM Olá Boa tarde Estou com um problema que não consegui resolver se alguém puder me ajudar ficarei muito agradecido.😁 👍 Eu preciso adicionar os valores de data que a pessoa colocar no TextBox(Que seria a data que ela nasceu) Imports MySql.Data.MySqlClient Imports System.IO Public Class CadastroVendedoras Dim conn As New MySqlConnection Dim cmd As New MySqlCommand Dim myData As New DataTable Dim SQL As String Private Sub BTlimpar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTlimpar.Click TBcep.Text = 0 TBcpf.Text = 0 TBrg.Text = 0 TBendereco.Text = "" TBnome.Text = "" End Sub Private Sub Vendedoras_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load TBcep.Text = 0 TBcpf.Text = 0 TBrg.Text = 0 TBendereco.Text = "" TBnome.Text = "" End Sub Private Sub BTconfirmar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTconfirmar.Click Try ''Abre conexão connection() Try Catch ex As Exception End Try ''sql= query para banco de dados SQL = "INSERT INTO vendedoras (codvend,nome,endereco,rg,cpf,cep,datanasc) VALUES (@cvend,@nome,@endereco,@rg,@cpf,@cep,@data)" ''campos a serem especificados cmd.Parameters.Add("@cvend", MySqlDbType.Int32, 5) cmd.Parameters.Add("@nome", MySqlDbType.VarChar, 70) cmd.Parameters.Add("@endereco", MySqlDbType.VarChar, 100) cmd.Parameters.Add("@rg", MySqlDbType.VarChar, 13) cmd.Parameters.Add("@cpf", MySqlDbType.VarChar, 13) cmd.Parameters.Add("@cep", MySqlDbType.Int32, 8) cmd.Parameters.Add("@data", MySqlDbType.Date) ''valor a ser cadastrado cmd.Parameters("@cvend").Value = Cvend.Text cmd.Parameters("@nome").Value = TBnome.Text cmd.Parameters("@endereco").Value = TBendereco.Text cmd.Parameters("@rg").Value = TBrg.Text cmd.Parameters("@cpf").Value = TBcpf.Text cmd.Parameters("@cep").Value = TBcep.Text cmd.Parameters("@cpf").Value = TBcpf.Text cmd.Parameters("@data").Value = Datan.Text cmd = New MySqlCommand(SQL, conn) cmd.ExecuteNonQuery() MsgBox("Cadastro Realizado") Catch ex As Exception MsgBox(ex.Message) conn.close() End Try End Sub ''função que abre conexão Public Function connection() Try conn = New MySqlConnection conn.ConnectionString = "server=***; user id=***; password=***; database=***" conn.Open() If conn.State = ConnectionState.Open Then MsgBox("conexão aberta com sucesso") End If Catch ex As Exception MsgBox(ex.Message) End Try Return True End Function End Class
apocsantos Posted September 5, 2016 at 09:12 PM Report #598647 Posted September 5, 2016 at 09:12 PM Boa noite, cmd.Parameters("@data").Value = (Date.TryParseExact(Datan.Text , CultureInfo.CurrentCulture, DateTimeStyles.None)) Cordiais cumprimentos, Apocsantos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
Felipe Machado Posted September 6, 2016 at 04:16 PM Author Report #598670 Posted September 6, 2016 at 04:16 PM 18 horas atrás, apocsantos disse: Boa noite, cmd.Parameters("@data").Value = (Date.TryParseExact(Datan.Text , CultureInfo.CurrentCulture, DateTimeStyles.None)) Cordiais cumprimentos, Apocsantos Obrigado pela resposta. Desculpa, mais tem que trocar alguma palavra ou declarar variável ou importar alguma biblioteca, nunca usei este método, e está dando erro.
apocsantos Posted September 6, 2016 at 04:24 PM Report #598671 Posted September 6, 2016 at 04:24 PM Boa tarde, Sem saber qual é o erro é complicado ajudar! Coloca cá o erro que isso ajuda bastante mais! Imports System.Globalization 'precisa importar o Globalization Dim dateValue as DateTime 'declara uma variavel do tipo datetime ''esse bloco faz o parse de texto para datetime '' recebe como argumentos o formato, as definições culturais do sistema, os estilos '' e a variável de destino, do tipo DateTime Date.TryParseExact(Datan.text, "dd/MM/yyyy", _ CultureInfo.CurrentCulture, _ DateTimeStyles.None, _ dateValue) ''fim do bloco cmd.Parameters("@data").Value = dateValue ''coloca o valor do parametro com o valor da variável já em formato de data Cordiais cumprimentos, Apocsantos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
Felipe Machado Posted September 6, 2016 at 05:04 PM Author Report #598673 Posted September 6, 2016 at 05:04 PM (edited) 42 minutos atrás, apocsantos disse: Boa tarde, Sem saber qual é o erro é complicado ajudar! Coloca cá o erro que isso ajuda bastante mais! Imports System.Globalization 'precisa importar o Globalization Dim dateValue as DateTime 'declara uma variavel do tipo datetime ''esse bloco faz o parse de texto para datetime '' recebe como argumentos o formato, as definições culturais do sistema, os estilos '' e a variável de destino, do tipo DateTime Date.TryParseExact(Datan.text, "dd/MM/yyyy", _ CultureInfo.CurrentCulture, _ DateTimeStyles.None, _ dateValue) ''fim do bloco cmd.Parameters("@data").Value = dateValue ''coloca o valor do parametro com o valor da variável já em formato de data Cordiais cumprimentos, Apocsantos Aparentemente está tudo certo mas está dando o erro o erro que está gerando é: Parameter '@data' not found in the collection. Try connection() Try Catch ex As Exception End Try SQL = "INSERT INTO vendedoras (codvend,nome,endereco,rg,cpf,cep,datanasc) VALUES (@cvend,@nome,@endereco,@rg,@cpf,@cep,@data)" Dim dateValue As DateTime cmd.Parameters.Add("@nome", MySqlDbType.VarChar, 70) cmd.Parameters.Add("@cvend", MySqlDbType.Int32, 5) cmd.Parameters.Add("@endereco", MySqlDbType.VarChar, 100) cmd.Parameters.Add("@rg", MySqlDbType.VarChar, 13) cmd.Parameters.Add("@cpf", MySqlDbType.VarChar, 13) cmd.Parameters.Add("@cep", MySqlDbType.Int32, 8) cmd.Parameters("@data").Value = (Date.TryParseExact(Datan.Text, "dd/MM/yyyy", CultureInfo.CurrentCulture, DateTimeStyles.None, dateValue)) cmd.Parameters("@nome").Value = TBnome.Text cmd.Parameters("@cvend").Value = Cvend.Text cmd.Parameters("@rg").Value = TBrg.Text cmd.Parameters("@cpf").Value = TBcpf.Text cmd.Parameters("@cep").Value = TBcep.Text cmd.Parameters("@endereco").Value = TBendereco.Text cmd.Parameters("@data").Value = dateValue '"debuguei" o programa e vi que o dateValue está vazio' 'o datan está recebendo o valor normal' cmd = New MySqlCommand(SQL, conn) cmd.ExecuteNonQuery() MsgBox("Cadastrado (a) ") Catch ex As Exception MsgBox(ex.Message) End Try Edited September 6, 2016 at 05:07 PM by Felipe Machado
apocsantos Posted September 6, 2016 at 05:19 PM Report #598674 Posted September 6, 2016 at 05:19 PM Boa tarde, Try connection() Try Catch ex As Exception End Try SQL = "INSERT INTO vendedoras (codvend,nome,endereco,rg,cpf,cep,datanasc) VALUES (@cvend,@nome,@endereco,@rg,@cpf,@cep,@data)" Dim dateValue As DateTime = Date.TryParseExact(Datan.Text, "dd/MM/yyyy", CultureInfo.CurrentCulture, DateTimeStyles.None) cmd.Parameters.Add("@nome", MySqlDbType.VarChar, 70) cmd.Parameters.Add("@cvend", MySqlDbType.Int32, 5) cmd.Parameters.Add("@endereco", MySqlDbType.VarChar, 100) cmd.Parameters.Add("@rg", MySqlDbType.VarChar, 13) cmd.Parameters.Add("@cpf", MySqlDbType.VarChar, 13) cmd.Parameters.Add("@cep", MySqlDbType.Int32, 8) cmd.Parameters("@data").Value = dateValue cmd.Parameters("@nome").Value = TBnome.Text cmd.Parameters("@cvend").Value = Cvend.Text cmd.Parameters("@rg").Value = TBrg.Text cmd.Parameters("@cpf").Value = TBcpf.Text cmd.Parameters("@cep").Value = TBcep.Text cmd.Parameters("@endereco").Value = TBendereco.Text cmd.Parameters("@data").Value = dateValue '"debuguei" o programa e vi que o dateValue está vazio' 'o datan está recebendo o valor normal' cmd = New MySqlCommand(SQL, conn) cmd.ExecuteNonQuery() MsgBox("Cadastrado (a) ") Catch ex As Exception MsgBox(ex.Message) End Try Cordiais cumprimentos, Apocsantos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
Felipe Machado Posted September 6, 2016 at 05:28 PM Author Report #598675 Posted September 6, 2016 at 05:28 PM (edited) Date.TryParseExact(Datan.Text, "dd/MM/yyyy", CultureInfo.CurrentCulture, DateTimeStyles.None) ta dando erro nesta parte Error 1 Overload resolution failed because no accessible 'TryParseExact' accepts this number of arguments. Edited September 6, 2016 at 05:29 PM by Felipe Machado
Solution apocsantos Posted September 6, 2016 at 08:23 PM Solution Report #598679 Posted September 6, 2016 at 08:23 PM Boa noite, Dim formats() As String = {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", _ "MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", _ "M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", _ "M/d/yyyy h:mm", "M/d/yyyy h:mm", _ "MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm"} Dim dateValue As DateTime = Date.TryParseExact(dateString, formats, _ New CultureInfo("pt-PT"), _ DateTimeStyles.None, _ dateValue) Aqui fica a solução completa. Cordiais cumprimentos, Apocsantos 1 Report "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
Felipe Machado Posted September 8, 2016 at 01:43 PM Author Report #598730 Posted September 8, 2016 at 01:43 PM Em 06/09/2016 às 17:23, apocsantos disse: Boa noite, Dim formats() As String = {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", _ "MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", _ "M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", _ "M/d/yyyy h:mm", "M/d/yyyy h:mm", _ "MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm"} Dim dateValue As DateTime = Date.TryParseExact(dateString, formats, _ New CultureInfo("pt-PT"), _ DateTimeStyles.None, _ dateValue) Aqui fica a solução completa. Cordiais cumprimentos, Apocsantos obrigado funcionou
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now