Jump to content

Recommended Posts

Posted

Boas pessoal,

Estou a utilizar um DateTimePicker para o utilizar escolher a data , mas não estou a conseguir guardar na base de dados. Dá-me erro no primeiro cmd.ExecuteNonQuery() dizendo que a String ou dados binários serão trancados. A instrução foi encerrada.

 		Const constr As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Acer\Desktop\Base de Dados.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

	    Dim db As New SqlConnection(constr)
	    db.Open()
	    Dim varsql As String
	    varsql = "insert into Stock(CodigoStock, Fornecedor, Categoria, Produto, Quantidade, Preco)" & "values(@CodigoStock, @Fornecedor, @Categoria, @Produto, @Quantidade, @Preco)"

	    Dim cmd As New SqlCommand(varsql, db)
	    ' linha da base de dados
	    cmd.Parameters.Add(New SqlParameter("@CodigoStock", TxtStock.Text))
	    cmd.Parameters.Add(New SqlParameter("@Fornecedor", ComboFornecedores.Text))
	    cmd.Parameters.Add(New SqlParameter("@Categoria", TxtCategoria.Text))
	    cmd.Parameters.Add(New SqlParameter("@Produto", Txtproduto.Text))
	    cmd.Parameters.Add(New SqlParameter("@Quantidade", TxtQuantidade.Text))
	    cmd.Parameters.Add(New SqlParameter("@Preco", TxtPreco.Text))
	    cmd.ExecuteNonQuery()
	    db.Close()

	    Const constr1 As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Acer\Desktop\Base de Dados.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

	    Dim db1 As New SqlConnection(constr1)
	    db1.Open()

	    Dim data As Date
	    data = "insert into Stock(Data)" & "values(@Data)"

	    Dim cmd1 As New SqlCommand(data, db1)
	    ' linha da base de dados
	    ' cmd1.Parameters.Add(New SqlParameter("@Data", DateTimePicker1.Text))
	    cmd1.Parameters.Add(New SqlParameter("@Data", DateTimePicker1.Value.Date))
	    cmd1.ExecuteNonQuery()
	    db1.Close()

	    MsgBox("actualizado com sucesso!", MsgBoxStyle.Information, "Mensagem de Confirmação")

Posted
cmd1.Parameters.Add(New SqlParameter("@Data", DateTimePicker1.Value.Date))

se meteres só não dá?

cmd1.Parameters.Add(New SqlParameter("@Data", DateTimePicker1.Value))

Mas a mim está me a dar erro aqui cmd.ExecuteNonQuery()

Posted (edited)

Dependendo do seu banco de dados você tem que formatar para o formato "MMddyyyy" para poder inserir no banco !

e não somente passar o datapicker, qual banco estas a utilizar ?

Edited by cesarini

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.