title: vb error: can't convert nvchar to numeric
body: <p>Can anyone shed light onto why I get this error about how it can't convert a <code>nvarchar</code> to <code>numeric</code>?</p>
  
  <ol>
  <li>there are no <code>nvarchar</code> columns in the db table</li>
  <li>running on SQL Server 2012 migrated from MySQL 5+</li>
  <li>All columns allow NULLs so an empty form should still post.</li>
  </ol>
  
  <p>Code:</p>
  
  <pre><code>    Try
              sql.SQLCon.ConnectionString = sql.ConnectionString
              sql.SQLCon.Open()
              sql.SQLcmd = New SqlCommand("INSERT into lab_oop_data(press_setup,test_drop_time,shift,operator,batch_num,split_batch_num,thickness,press_speed,oop_target_thickness,resin_usage,batch_solids,dosing_rate,combi_dosing,wax_dosing,buffer,urea,total_sander_dust,batch_solids2,dosing_rate2,combi_dosing2,wax_dosing2,buffer2,urea2,total_sander_dust2,pt_zone1,pt_zone2,pt_zone3,pt_zone4,pt_zone5,mat_weights,moisture_target,moisture_percent,plate_hours_core,plate_hours_face,shives_core,shives_face,density_set,density_1,density_2,density_3,density_4,density_5,density_6,density_7,density_8,density_9,density_10,density_ave,thickness_1,thickness_2,thickness_3,thickness_4,thickness_5,thickness_6,thickness_7,thickness_8,thickness_9,thickness_10,thickness_ave,int_bond_1,int_bond_2,int_bond_3,int_bond_4,int_bond_5,int_bond_6,int_bond_7,int_bond_8,int_bond_9,int_bond_10,int_bond_ave,where_broke_1,where_broke_2,where_broke_3,where_broke_4,where_broke_5,where_broke_6,where_broke_7,where_broke_8,where_broke_9,where_broke_10,repull_1,repull_2,repull_3,repull_4,repull_5,repull_6,repull_7,repull_8,repull_9,repull_10,mi_thickness_1,mi_thickness_2,mi_thickness_3,mi_thickness_4,mi_thickness_5,mi_thickness_6,mi_thickness_7,mi_thickness_8,mi_thickness_9,mi_thickness_10,mi_thickness_ave,south_edge,south_centre,north_centre,north_edge,pl_test1,pl_test2,pw_south,pw_north,lcl_south,lcl_north,lcw_south,lcw_north,intended_grade,assigned_grade,assigned_grade2,pcf,psi,strip_den_tar_thick,strip_den_ave_thick,sb_s1_top,sb_s1_bottom,sb_s2_top,sb_s2_bottom,notes) values(@PressSetup,@TestDropTime,@Shift,@Operator,@BatchNum,@SplitBatchNum,@Thickness,@PressSpeed,@TargetThickness,@ResinUsage,@BatchSolidsFace,@DosingRateFace,@CombiDosingFace,@WaxDosingFace,@BufferFace,@UreaFace,@TotalSanderDustFace,@BatchSolidsCore,@DosingRateCore,@CombiDosingCore,@WaxDosingCore,@BufferCore,@UreaCore,@TotalSanderDustCore,@Zone1,@Zone2,@Zone3,@Zone4,@Zone5,@MatWeights,@MoistureTarget,@MoisturePercent,@PlateHoursCore,@PlateHoursFace,@ShivesCore,@ShivesFace,@DensitySet,@Density1,@Density2,@Density3,@Density4,@Density5,@Density6,@Density7,@Density8,@Density9,@Density10,@DensityAve,@Thickness1,@Thickness2,@Thickness3,@Thickness4,@Thickness5,@Thickness6,@Thickness7,@Thickness8,@Thickness9,@Thickness10,@ThicknessAve,@InternalBond1,@InternalBond2,@InternalBond3,@InternalBond4,@InternalBond5,@InternalBond6,@InternalBond7,@InternalBond8,@InternalBond9,@InternalBond10,@InternalBondAve,@WhereBroke1,@WhereBroke2,@WhereBroke3,@WhereBroke4,@WhereBroke5,@WhereBroke6,@WhereBroke7,@WhereBroke8,@WhereBroke9,@WhereBroke10,@Repull1,@Repull2,@Repull3,@Repull4,@Repull5,@Repull6,@Repull7,@Repull8,@Repull9,@Repull10,@MiThickness1,@MiThickness2,@MiThickness3,@MiThickness4,@MiThickness5,@MiThickness6,@MiThickness7,@MiThickness8,@MiThickness9,@MiThickness10,@MiThicknessAve,@SouthEdge,@SouthCentre,@NorthCentre,@NorthEdge,@PanelLengthSouth,@PanelLengthNorth,@PanelWidthSouth,@PanelWidthNorth,@LabCutLengthSouth,@LabCutLengthNorth,@LabCutWeightSouth,@LabCutWeightNorth,@IntendedGrade,@AssignedGradeNorth,@AssignedGradeSouth,@PCF,@PSI,@SDTT,@SDAT,@SurfaceBondS1a,@SurfaceBondS1b,@SurfaceBondS2a,@SurfaceBondS2b,@Notes)", sql.SQLCon)
  
              sql.SQLcmd.Parameters.AddWithValue("@PressSetup", PressSetup.SelectedText)
              sql.SQLcmd.Parameters.AddWithValue("@TestDropTime", TestDropTime.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Shift", Shift.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Operator", "bdoucette")
              sql.SQLcmd.Parameters.AddWithValue("@BatchNum", BatchNum.Text)
              sql.SQLcmd.Parameters.AddWithValue("@SplitBatchNum", SplitBatchNum.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Thickness", Thickness.Text)
              sql.SQLcmd.Parameters.AddWithValue("@PressSpeed", PressSpeed.Text)
              sql.SQLcmd.Parameters.AddWithValue("@TargetThickness", TargetThickness.Text)
              sql.SQLcmd.Parameters.AddWithValue("@ResinUsage", ResinUsage.Text)
              sql.SQLcmd.Parameters.AddWithValue("@BatchSolidsFace", BatchSolidsFace.Text)
              sql.SQLcmd.Parameters.AddWithValue("@BatchSolidsCore", BatchSolidsCore.Text)
              sql.SQLcmd.Parameters.AddWithValue("@DosingRateFace", DosingRateFace.Text)
              sql.SQLcmd.Parameters.AddWithValue("@DosingRateCore", DosingRateCore.Text)
              sql.SQLcmd.Parameters.AddWithValue("@CombiDosingFace", CombiDosingFace.Text)
              sql.SQLcmd.Parameters.AddWithValue("@CombiDosingCore", CombiDosingCore.Text)
              sql.SQLcmd.Parameters.AddWithValue("@WaxDosingFace", WaxDosingFace.Text)
              sql.SQLcmd.Parameters.AddWithValue("@WaxDosingCore", WaxDosingCore.Text)
              sql.SQLcmd.Parameters.AddWithValue("@BufferFace", BufferFace.Text)
              sql.SQLcmd.Parameters.AddWithValue("@BufferCore", BufferCore.Text)
              sql.SQLcmd.Parameters.AddWithValue("@UreaFace", UreaFace.Text)
              sql.SQLcmd.Parameters.AddWithValue("@UreaCore", UreaCore.Text)
              sql.SQLcmd.Parameters.AddWithValue("@TotalSanderDustFace", TotalSanderDustFace.Text)
              sql.SQLcmd.Parameters.AddWithValue("@TotalSanderDustCore", TotalSanderDustCore.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Zone1", Zone1.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Zone2", Zone2.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Zone3", Zone3.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Zone4", Zone4.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Zone5", Zone5.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MatWeights", MatWeights.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MoistureTarget", MoistureTarget.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MoisturePercent", MoisturePercent.Text)
              sql.SQLcmd.Parameters.AddWithValue("@PlateHoursFace", PlateHoursFace.Text)
              sql.SQLcmd.Parameters.AddWithValue("@PlateHoursCore", PlateHoursCore.Text)
              sql.SQLcmd.Parameters.AddWithValue("@ShivesFace", ShivesFace.Text)
              sql.SQLcmd.Parameters.AddWithValue("@ShivesCore", ShivesCore.Text)
              sql.SQLcmd.Parameters.AddWithValue("@DensitySet", DensitySet.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Density1", Density1.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Density2", Density2.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Density3", Density3.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Density4", Density4.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Density5", Density5.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Density6", Density6.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Density7", Density7.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Density8", Density8.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Density9", Density9.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Density10", Density10.Text)
              sql.SQLcmd.Parameters.AddWithValue("@DensityAve", DensityAve.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Thickness1", Thickness1.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Thickness2", Thickness2.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Thickness3", Thickness3.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Thickness4", Thickness4.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Thickness5", Thickness5.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Thickness6", Thickness6.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Thickness7", Thickness7.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Thickness8", Thickness8.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Thickness9", Thickness9.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Thickness10", Thickness10.Text)
              sql.SQLcmd.Parameters.AddWithValue("@ThicknessAve", ThicknessAve.Text)
              sql.SQLcmd.Parameters.AddWithValue("@InternalBond1", InternalBond1.Text)
              sql.SQLcmd.Parameters.AddWithValue("@InternalBond2", InternalBond2.Text)
              sql.SQLcmd.Parameters.AddWithValue("@InternalBond3", InternalBond3.Text)
              sql.SQLcmd.Parameters.AddWithValue("@InternalBond4", InternalBond4.Text)
              sql.SQLcmd.Parameters.AddWithValue("@InternalBond5", InternalBond5.Text)
              sql.SQLcmd.Parameters.AddWithValue("@InternalBond6", InternalBond6.Text)
              sql.SQLcmd.Parameters.AddWithValue("@InternalBond7", InternalBond7.Text)
              sql.SQLcmd.Parameters.AddWithValue("@InternalBond8", InternalBond8.Text)
              sql.SQLcmd.Parameters.AddWithValue("@InternalBond9", InternalBond9.Text)
              sql.SQLcmd.Parameters.AddWithValue("@InternalBond10", InternalBond10.Text)
              sql.SQLcmd.Parameters.AddWithValue("@InternalBondAve", InternalBondAve.Text)
              sql.SQLcmd.Parameters.AddWithValue("@WhereBroke1", WhereBroke1.Text)
              sql.SQLcmd.Parameters.AddWithValue("@WhereBroke2", WhereBroke2.Text)
              sql.SQLcmd.Parameters.AddWithValue("@WhereBroke3", WhereBroke3.Text)
              sql.SQLcmd.Parameters.AddWithValue("@WhereBroke4", WhereBroke4.Text)
              sql.SQLcmd.Parameters.AddWithValue("@WhereBroke5", WhereBroke5.Text)
              sql.SQLcmd.Parameters.AddWithValue("@WhereBroke6", WhereBroke6.Text)
              sql.SQLcmd.Parameters.AddWithValue("@WhereBroke7", WhereBroke7.Text)
              sql.SQLcmd.Parameters.AddWithValue("@WhereBroke8", WhereBroke8.Text)
              sql.SQLcmd.Parameters.AddWithValue("@WhereBroke9", WhereBroke9.Text)
              sql.SQLcmd.Parameters.AddWithValue("@WhereBroke10", WhereBroke10.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Repull1", Repull1.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Repull2", Repull2.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Repull3", Repull3.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Repull4", Repull4.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Repull5", Repull5.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Repull6", Repull6.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Repull7", Repull7.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Repull8", Repull8.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Repull9", Repull9.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Repull10", Repull10.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MiThickness1", MiThickness1.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MiThickness2", MiThickness2.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MiThickness3", MiThickness3.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MiThickness4", MiThickness4.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MiThickness5", MiThickness5.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MiThickness6", MiThickness6.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MiThickness7", MiThickness7.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MiThickness8", MiThickness8.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MiThickness9", MiThickness9.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MiThickness10", MiThickness10.Text)
              sql.SQLcmd.Parameters.AddWithValue("@MiThicknessAve", MiThicknessAve.Text)
              sql.SQLcmd.Parameters.AddWithValue("@SouthEdge", SouthEdge.Text)
              sql.SQLcmd.Parameters.AddWithValue("@SouthCentre", SouthCentre.Text)
              sql.SQLcmd.Parameters.AddWithValue("@NorthCentre", NorthCentre.Text)
              sql.SQLcmd.Parameters.AddWithValue("@NorthEdge", NorthEdge.Text)
              sql.SQLcmd.Parameters.AddWithValue("@PanelLengthSouth", PanelLengthSouth.Text)
              sql.SQLcmd.Parameters.AddWithValue("@PanelLengthNorth", PanelLengthNorth.Text)
              sql.SQLcmd.Parameters.AddWithValue("@PanelWidthSouth", PanelWidthSouth.Text)
              sql.SQLcmd.Parameters.AddWithValue("@PanelWidthNorth", PanelWidthNorth.Text)
              sql.SQLcmd.Parameters.AddWithValue("@LabCutLengthSouth", LabCutLengthSouth.Text)
              sql.SQLcmd.Parameters.AddWithValue("@LabCutLengthNorth", LabCutLengthNorth.Text)
              sql.SQLcmd.Parameters.AddWithValue("@LabCutWeightSouth", LabCutWeightSouth.Text)
              sql.SQLcmd.Parameters.AddWithValue("@LabCutWeightNorth", LabCutWeightNorth.Text)
              sql.SQLcmd.Parameters.AddWithValue("@IntendedGrade", IntendedGrade.SelectedText)
              sql.SQLcmd.Parameters.AddWithValue("@AssignedGradeSouth", AssignedGradeSouth.SelectedText)
              sql.SQLcmd.Parameters.AddWithValue("@AssignedGradeNorth", AssignedGradeNorth.SelectedText)
              sql.SQLcmd.Parameters.AddWithValue("@PCF", PCF.Text)
              sql.SQLcmd.Parameters.AddWithValue("@PSI", InternalBondAve.Text)
              sql.SQLcmd.Parameters.AddWithValue("@SDTT", SDTT.Text)
              sql.SQLcmd.Parameters.AddWithValue("@SDAT", SDAT.Text)
              sql.SQLcmd.Parameters.AddWithValue("@SurfaceBondS1a", sbSample1a.Text)
              sql.SQLcmd.Parameters.AddWithValue("@SurfaceBondS1b", sbSample1b.Text)
              sql.SQLcmd.Parameters.AddWithValue("@SurfaceBondS2a", sbSample2a.Text)
              sql.SQLcmd.Parameters.AddWithValue("@SurfaceBondS2b", sbSample2b.Text)
              sql.SQLcmd.Parameters.AddWithValue("@Notes", Notes.Text)
  
              sql.SQLcmd.ExecuteNonQuery()
  
          Catch ex As Exception
              MessageBox.Show(ex.Message)
          Finally
              sql.SQLCon.Close()
              sql.SQLCon.Dispose()
          End Try
  </code></pre>