inserting a record into a datagrid?????what is wrong in my code???

  • Thread starter Thread starter Hyphessobrycon
  • Start date Start date
H

Hyphessobrycon

Private Sub btnrubriekbij_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnrubriekbij.Click

'insert hier

Dim cn As New OleDb.OleDbConnection(constr)

Dim dc As New OleDb.OleDbCommand

dc.Connection = cn

dc.CommandText = "insert into tblVast ( soort, kosten,datum,soortid) values
( @soort,@kosten,@datum,@soortid)" ';SELECT soort,kosten,datumfrom tblVast
WHERE (soortid=?)"

dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("soortid",
System.Data.OleDb.OleDbType.BigInt, 64, "Soortid"))

dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("soort",
System.Data.OleDb.OleDbType.VarChar, 50, "Soort"))

dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("kosten",
System.Data.OleDb.OleDbType.Single, 16, "Kosten"))

dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("datum",
System.Data.OleDb.OleDbType.Date, 12, "Datum"))

daVastBewerkenJ.UpdateCommand = dc

Try

daVastBewerkenJ.Update(dsVastBewerkenJ, "tblVast")

Catch ex As Exception

MsgBox(ex.Message)

End Try

dc.Connection.Open()

dc.ExecuteNonQuery()

Catch ex As Exception

MsgBox(ex.Message)

End Try

dc.Connection.Close()

End Sub



Thanks for helping me out

Hyphessobrycon, the new fish in the vbOcean
 
What's the error message? Just off the top of my head, you're trying to use
named parameters in an OleDb command. Try this:

dc.CommandText = "insert into tblVast ( soort, kosten,datum,soortid) values
" & _
"( ?, ?, ?, ?);SELECT soort,kosten,datumfrom tblVast " & _
"WHERE (soortid=?)"
dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("soortid",
System.Data.OleDb.OleDbType.BigInt, 64, "Soortid"))
dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("soort",
System.Data.OleDb.OleDbType.VarChar, 50, "Soort"))
dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("kosten",
System.Data.OleDb.OleDbType.Single, 16, "Kosten"))
dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("datum",
System.Data.OleDb.OleDbType.Date, 12, "Datum"))
dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("soortid2",
System.Data.OleDb.OleDbType.BigInt, 64, "Soortid"))
 
What is still wrong?? Error message = Signs are found after the insert
instruction


Private Sub btnrubriekbij_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnrubriekbij.Click

'insert hier

Dim cn As New OleDb.OleDbConnection(constr)

Dim dc As New OleDb.OleDbCommand

dc.Connection = cn

dc.CommandText = "insert into tblVast ( soort, kosten,datum,soortid) values
( ?,?,?,?) ;SELECT soort,kosten,datum,soortid from tblVast WHERE
(soortid=?)"

dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("soortid",
System.Data.OleDb.OleDbType.BigInt, 64, "Soortid"))

dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("soort",
System.Data.OleDb.OleDbType.VarChar, 50, "Soort"))

dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("kosten",
System.Data.OleDb.OleDbType.Single, 16, "Kosten"))

dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("datum",
System.Data.OleDb.OleDbType.Date, 12, "Datum"))

dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("soortid2",
System.Data.OleDb.OleDbType.BigInt, 64, "Soortid"))

daVastBewerkenJ.InsertCommand = dc

Try

daVastBewerkenJ.Update(dsVastBewerkenJ, "tblVast")

Catch ex As Exception

MsgBox(ex.Message)

End Try

refreshen_vast()


End Sub



I thank everyone helping that new fish in the vbOcean

Hyphessobrycon
 
Hmmm. It's apparently picking up the = sign in the WHERE clause. Just for
the heck of it, try dropping the WHERE clause and the last parameter and see
what happens:

dc.CommandText = "insert into tblVast ( soort, kosten,datum,soortid) " & _
"VALUES ( ?,?,?,?) ;" & _
"SELECT soort,kosten,datum,soortid " & _
"FROM tblVast"
 
Hallo Michael,

thank you for helping. I appreciate it greatly.
And I found the solution to my problem .
Since soortid is autonumbering(correct in English?), i had to leave these
parameters out. And also leave that select sentence away. What is it for
anyway??

dc.CommandText = "insert into tblVast ( soort, kosten,datum)
dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("soort",
System.Data.OleDb.OleDbType.VarChar, 50, "Soort"))

dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("kosten",
System.Data.OleDb.OleDbType.Single, 16, "Kosten"))

dc.Parameters.Add(New System.Data.OleDb.OleDbParameter("datum",
System.Data.OleDb.OleDbType.Date, 12, "Datum"))

daVastBewerkenJ.InsertCommand = dc

Hyphessobrycon thanks you very much
 
Back
Top