INSERT INTO Clause problem

Hi,

I have a function for inserting new data into a table but I'm receiving the following error:

Server Error in '/Contractors' Application.
Insert Error: Column name or number of supplied values does not match table definition.
Description: An unhandled exception occurred during the execution of the current web
request. Please review the stack trace for more information about the error and where
it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Insert Error: Column
name or number of supplied values does not match table definition.

Source Error:

An unhandled exception was generated during the execution of the current web request.
Information regarding the origin and location of the exception can be identified using
the exception stack trace below.

The table conists of the following columns, they are all type char, expect ID is type int:
ID
VendorNo
DateIssued
FirstName
Surname
ContactNumber
Address

I'm not completely sure if I'm supposed to use the Param's for INSERT INTO clause, but here is the function I'm calling thats causing the error:

Private Sub cmdAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAdd.Click
'Save the values from the details fields to the database
conn.Open()
Try
Dim updAdd As SqlCommand = New SqlCommand("INSERT INTO Contacts VALUES (@VendorNo, @DateIssued, @Surname, @FirstName, @ContactNumber, @Address)", conn)
With updAdd.Parameters
.Add("@VendorNo", txtAddVendorNumber.Text)
.Add("@DateIssued", txtAddDateIssued.Text)
.Add("@Surname", txtAddSurname.Text)
.Add("@FirstName", txtAddFirstName.Text)
.Add("@ContactNumber", txtAddContactNumber.Text)
.Add("@Address", txtAddAddress.Text)
End With
updAdd.ExecuteNonQuery()
Finally
conn.Close()
End Try
End Sub

Any help solving this issue would be greatly appreciated! It's got me confused thats for sure heh.it is a common mistake to insert a char into int column. it will always give you error. if you need to insert it into an INT column first convert the dayatype from char to int

lets say you have a string xyz="123"

and you need to insert it in some id column

the best approach would be:-

dim abc as integer
abc=Cint(xyz) 'this will change the datatype from string to int

you can then execute the sql query to insert the data into any INT column.
 
Back
Top