Execute reader is the wrong command: ExecuteNonQuery is correct.
However it is a very good idea to name the fields as you insert them, and (as you tried) to use parametrized queries.
Look at this template - it should give you the idea:
using (SqlConnection con = new SqlConnection(strConnect))
{
con.Open();
using (SqlCommand com = new SqlCommand("INSERT INTO myTable (myColumn1, myColumn2) VALUES (@C1, @C2)", con))
{
com.Parameters.AddWithValue("@C1", myValueForColumn1);
com.Parameters.AddWithValue("@C2", myValueForColumn2);
com.ExecuteNonQuery();
}
}
If you are using SDF files, you probably should be using SqlCEConnections, and SqlCECommands rather than the SqlConnection and SqlCommand in the above though.