I would say that the statement causes an error since you're missing an ending parenthesis for the values.
Try using
SqlCommand cmd = new SqlCommand("Insert into DEF_FONDATION_BOLT_MST(JBoltNos,JBoltNos_desc,JBoltDia,JBoltDia_desc,YieldStress,YieldStress_desc,PitchCircleDia,PitchCircleDia_desc,BoltLen,BoltLen_desc,ProjectedBLen,ProjectedBLen_desc,Cost,CreatedBy,Product_Type,Bolt_Type,ED_ACC,UNIT_OF_MEASUREMENT,IsActive,ImagePath) values(@JBoltNos,@JBoltNos_desc,@JBoltDia,@JBoltDia_desc,@YieldStress,@YieldStress_desc,@PitchCircleDia,@PitchCircleDia_desc,@BoltLen,@BoltLen_desc,@ProjectedBLen,@ProjectedBLen_desc,@Cost,@CreatedBy,@Product_Type,@Bolt_Type,@ED_ACC,@UNIT_OF_MEASUREMENT,@IsActive,@ImagePath)", con);
Also if the exception isn't shown properly, check the code you currently have for error handling that it's not throwing away the information.