ID является целым числом, поэтому оно не должно быть между ''
:
Измените эту строку:
String query = "INSERT INTO table(dbo.table.ID, dbo.table.secondvar)
VALUES ('@ID','@secondvar')";
на эту:
String query = "INSERT INTO table(dbo.table.ID, dbo.table.secondvar)
VALUES (@ID,@secondvar)";
И лучше избегать использования AddWithValue
, вместо этого используйте его как:
String query = "INSERT INTO table(dbo.table.ID, dbo.table.secondvar)
VALUES (@ID,'@secondvar')";
using (SqlCommand cmd = new SqlCommand(query, connection))
{
int ID = 1;
cmd.Parameters.Add("@ID", SqlDbType.Int).Value = ID;
cmd.Parameters.Add("@secondvar", SqlDbType.VarChar).Value = somevalue;
//rest of the code
}