ExecuteNonQuery returns an integer value indicating how many rows has been affected by the command. See what it is:

Code:
Dim rowsaffected As Integer = scmd.ExecuteNonQuery()
MsgBox("Rows affected:" & rowsaffected.ToString())
Also I didn't see where dbconn connection is opened in your code.
Are you sure it stays open?

Code:
If dbconn.State <> ConnectionState.Open Then dbconn.Open()