Ik zou proberen deze regel te veranderen
cmd.Parameters.Add("@device_name", SqlDbType.Text).Value = d_name_comboBox5.Text;
De AddWithValue behandelt de tekenreekswaarden als een NVarChar-gegevenstype en kijkend naar het foutbericht wordt een teksttype verwacht.
U kunt ook proberen uw kolomgegevenstype te wijzigen in nvarchar(MAX)
. De TEXT-kolommen worden als verouderd beschouwd en zullen waarschijnlijk verwijderd worden in toekomstige versies van Sql Server