VB Incorrect Syntax Near '('

Discussion in 'Programming' started by scottlpool2003, Dec 20, 2012.

  1. #1
    Any ideas?

        Private Sub updatedb(ByVal Id As Integer)
            Dim sqlUpdate As String = "Update users SET " _
                                    & "(f_name, s_name, ext, username, password) " _
                                    & "VALUES (@f_name,@s_name,@ext, @username, @password)" _
            & "WHERE id = @id"
    
            Dim InsertQry As New SqlCommand(sqlUpdate, Conn)
    
            Dim parameter As SqlParameter = Nothing
    
            parameter = InsertQry.Parameters.AddWithValue("@f_name", f_name.Text)
            parameter = InsertQry.Parameters.AddWithValue("@s_name", s_name.Text)
            parameter = InsertQry.Parameters.AddWithValue("@ext", ext.Text)
            parameter = InsertQry.Parameters.AddWithValue("@username", username.Text)
            parameter = InsertQry.Parameters.AddWithValue("@password", password.Text)
            'parameter = InsertQry.Parameters.AddWithValue("@id", Id)
    
    
            Conn.Open()
            InsertQry.ExecuteScalar()
            Conn.Close()
    
            Label1.Text = ("User updated")
    
        End Sub
    Code (markup):
     
    scottlpool2003, Dec 20, 2012 IP
  2. scottlpool2003

    scottlpool2003 Well-Known Member

    Messages:
    1,708
    Likes Received:
    49
    Best Answers:
    9
    Trophy Points:
    150
    #2
    Never mind, getting MySql and SQL mixed up...

    Just in case anybody else encounters the same problem:

         Dim sqlUpdate As String = "Update users SET " _
                                    & "f_name = @f_name, s_name = @s_name, ext = @ext, username = @username, password = @password " _
                                    & "WHERE id = @id"
    
            Dim InsertQry As New SqlCommand(sqlUpdate, Conn)
    
            Dim parameter As SqlParameter = Nothing
    
            parameter = InsertQry.Parameters.AddWithValue("@f_name", f_name.Text)
            parameter = InsertQry.Parameters.AddWithValue("@s_name", s_name.Text)
            parameter = InsertQry.Parameters.AddWithValue("@ext", ext.Text)
            parameter = InsertQry.Parameters.AddWithValue("@username", username.Text)
            parameter = InsertQry.Parameters.AddWithValue("@password", password.Text)
            parameter = InsertQry.Parameters.AddWithValue("@id", id)
    
    
            Conn.Open()
            InsertQry.ExecuteScalar()
            Conn.Close()
    Code (markup):
     
    scottlpool2003, Dec 20, 2012 IP
  3. Rukbat

    Rukbat Well-Known Member

    Messages:
    2,908
    Likes Received:
    37
    Best Answers:
    51
    Trophy Points:
    125
    #3
    Not really - both MSSQL and MySQL (and every other SQL database) uses the same update and insert statements. Your problem was that you used insert syntax in an update statement, (I've done it more than once.)
     
    Rukbat, Dec 20, 2012 IP