Whiteangel Posted March 15, 2014 Report Share Posted March 15, 2014 Boas pessoal Estou a tentar inserir dados na base de dados e dá-me um erro no cmd.ExecuteNonQuery(), a dizer 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 ' Inserir na tabela clientes varsql = "insert into Stocks(CodigoStock, Fornecedor, Categoria, Produto, Quantidade, Preco_Compra_Und)" & "values(@CodigoStock, @Fornecedor, @Categoria, @Produto, @Quantidade, @Preco_Compra_Und)" 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_Compra_Und", TxtPreco.Text)) cmd.ExecuteNonQuery() 'erro db.Close() MsgBox("inserido com sucesso!", MsgBoxStyle.Information, "Mensagem de Confirmação") Link to comment Share on other sites More sharing options...
cesarini Posted March 17, 2014 Report Share Posted March 17, 2014 Bom dia; Tente da seguinte forma : 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 ' Inserir na tabela clientes varsql = "insert into Stocks(CodigoStock, Fornecedor, Categoria, Produto, Quantidade, Preco_Compra_Und)" & "values(@CodigoStock, @Fornecedor, @Categoria, @Produto, @Quantidade, @Preco_Compra_Und)" Dim cmd As New SqlCommand(varsql, db) ' linha da base de dados cmd.Parameters.AddWithValue("@CodigoStock", TxtStock.Text) cmd.Parameters.AddWithValue("@Fornecedor", ComboFornecedores.Text) cmd.Parameters.AddWithValue("@Categoria", TxtCategoria.Text) cmd.Parameters.AddWithValue("@Produto", Txtproduto.Text) cmd.Parameters.AddWithValue("@Quantidade", TxtQuantidade.Text) cmd.Parameters.AddWithValue("@Preco_Compra_Und", TxtPreco.Text) cmd.ExecuteNonQuery() 'erro db.Close() MsgBox("inserido com sucesso!", MsgBoxStyle.Information, "Mensagem de Confirmação") Link to comment Share on other sites More sharing options...
bids Posted March 27, 2014 Report Share Posted March 27, 2014 (edited) Tente este código Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click Dim conexao As New OleDb.OleDbConnection Dim sqlCadTelGravar As String Dim Cm As New OleDb.OleDbCommand(sqlCadTelGravar, conexao) Try conexao.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\root\Documents\usuariosbd1.accdb;Jet OLEDB:Database Password= ") conexao.Open() sqlCadTelGravar = "INSERT INTO tbldata (Nome,Senha) VALUES ( ?,?)" Cm.CommandText = sqlCadTelGravar Cm.Parameters.Add("@nome", OleDb.OleDbType.VarChar).Value = TextBox1.Text Cm.Parameters.Add("@senha", OleDb.OleDbType.VarChar).Value = TextBox2.Text Cm.Connection = conexao Cm.ExecuteNonQuery() Dim vCadTelgravar As Integer = Cm.ExecuteNonQuery() If vCadTelgravar < 1 Then MsgBox("O registo não foi efectuado") Else MsgBox("Registo efectuado com sucesso") End If Catch ex As Exception MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error) End Try conexao.Close() Edited March 27, 2014 by bids Ajude-me? Link to comment Share on other sites More sharing options...
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