There are a couple issues here.
- As someone pointed out, there are many quotes and it gets confusing.
- Field names with special characters in them require a binding around them to indicate the full field name.
- Without knowing the way your database is structured, this would be very challenging. For example, is your User Name field really User Name? If so, it must be quoted because of the space.
What I am doing below is removing some unnecessary quotes and adding square brackets to delimit the field name correctly.
query = "INSERT INTO MembersInfo ([Name],[User Name],[Password], [Confirm Password], [Password hint], [Address], [City], [Postal Code], [State], [Country], [Home No:], [Handphone No:], [SMS Alerts], [E-mail Address]) VALUES ('" & txtName.Text & "', '" & txtUserName.text & "', '" & txtPassword.text & "', '" & txtConfirmPassword.text & "', '" & txtPasswordHint.text & "', '" & txtAddress.text & "', '" & txtCity.text & "', '" & txtPostalCode.text & "', '" & txtState.text & "', '" & txtCountry.text & "', '" & txtHome.text & "', '" & txtHandphone.text & "', '" & txtEmail.text & "');"
Please modify your question to also include the structure of your table so that I can ensure accuracy of the query. All these modifications assume you are using Microsoft Access. They may not work under other SQL databases.