JoaoCarreiro Posted March 4, 2013 at 12:02 PM Report #497830 Posted March 4, 2013 at 12:02 PM (edited) Boas pessoal, eu estou aqui com uma dificuldade em inserir registos para a base de dados, eu já tenho a base de dados criada e colocada na raiz do programa. A minha intenção é num form com 2 textboxes e um botão ao carregar no botão insira o conteudo da textbox1 e textbox2 nos campos Nome e Preço respetivamente, se me pudessem dar uma ajudinha agradecia, esta aqui o código que tenho no botão. A mensagem de erro que recebo é: OIeDbException was unhandled. Tipo de dados incorrecto na expressão de critérios. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim conexao As OleDbConnection Dim comando As OleDbCommand Dim str As String conexao = New OleDbConnection("PROVIDER=Microsoft.jet.OLEDB.4.0;DATA Source=" & Application.StartupPath & "\Database1.mdb") conexao.Open() str = "Insert INTO Tabela1 Values ('textbox1.text', 'textbox2.text')" comando = New OleDbCommand(str, conexao) comando.ExecuteNonQuery() conexao.Close() End Sub Muito obrigado 🙂 Edited March 4, 2013 at 12:03 PM by Caça GeSHi
Caça Posted March 4, 2013 at 12:04 PM Report #497831 Posted March 4, 2013 at 12:04 PM Vê isto https://wiki.portugal-a-programar.pt/dev_net/vb.net/access/ Pedro Martins Não respondo a duvidas por PM
JoaoCarreiro Posted March 4, 2013 at 12:10 PM Author Report #497834 Posted March 4, 2013 at 12:10 PM Em 04/03/2013 às 13:04, Caça disse: Vê isto https://wiki.portugal-a-programar.pt/dev_net/vb.net/access/ Boas! Obrigado pela resposta rápida, usei o mesmo código (obviamente que alterei os campos necessários) mas o mesmo erro surge-me no mesmo local, é sempre no command.ExecuteNonQuery()
bioshock Posted March 4, 2013 at 05:55 PM Report #497873 Posted March 4, 2013 at 05:55 PM Coloca aqui o código actual.
jpaulino Posted March 4, 2013 at 06:37 PM Report #497882 Posted March 4, 2013 at 06:37 PM str = "Insert INTO Tabela1 Values ('textbox1.text', 'textbox2.text')" Isto está completamente errado! Deves indicar que campos tens (pode não ser necessário mas é recomendável) e que valores queres inserir. Dessa forma estas a tentar inserir textbox1.text e textbox2.text na base de dados e não os seus valores. Tenta algo como: str = String.Format("Insert INTO Tabela1 Values ({0},{1})", Textbox1.Text, Textbox2.Text) Desta forma estás a indicar que vais inserir os valores que estão nas textboxes. É recomendável no entanto a utilização de Parameters para evitar problemas ... procura na Wiki da comunidade por alguns artigos que tenho para SQL Server pois é semelhante para Access.
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