This is your query taken from the comment.
You really should include it in the question as text, not as image.
INSERT INTO SalesActivity VALUES
('AC00001',
'05-12-2016',
'AG16170',
'C000001',
'P0001',
'S00002',
'1',
'200000.00',
'', -- valueEUR
'1.2220',
'20',
'100000.00',
'25-12-2016',
'30-12-2016',
'31-12-2016',
'A000001',
'PR00001');
In the definition of the table we can see that valueEUR column is numeric. You are passing a string there. Not just a string, but a string that can not be converted into a number. An empty string '' can't be converted into a number.
I'm guessing, you want to insert NULL in that field. So, you should
- write
NULL in the INSERT statement.
- Also, you should remove all quotes around numbers, so that the server would not have to convert strings into numbers.
- Also, you should write your dates in
YYYY-MM-DD format. Otherwise, one day you may be surprised to see that server guessed it incorrectly and swapped month and day.
- Also, you should list all column names in the
INSERT statement. Otherwise your code will break when you add a new column to the table.
The query should look similar to this:
INSERT INTO dbo.SalesActivity
(Activity_ID,
[Date],
Quatation_Number,
Customer_ID,
Product_ID,
Status_ID,
Quantity,
valueGBR,
valueEUR,
Rate,
Commission,
weightedValue,
estDecisionDate,
currentEstCompletionDate,
originalEstCompletionDate,
Agent_ID,
Probability_ID)
VALUES
('AC00001',
'2016-12-05',
'AG16170',
'C000001',
'P0001',
'S00002',
1,
200000.00,
NULL,
1.2220,
20,
100000.00,
'2016-12-25',
'2016-12-30',
'2016-12-31',
'A000001',
'PR00001');