¿Cómo reescribo una consulta SQL como una consulta parametrizada?

He oído que puedo evitar los ataques de inyección SQL utilizando consultas parametrizadas, pero no sé cómo escribirlas.

¿Cómo escribiría lo siguiente como una consulta parametrizada?

SqlConnection con = new SqlConnection(
    "Data Source=" + globalvariables.hosttxt + "," + globalvariables.porttxt + "\\SQLEXPRESS;" + 
    "Database=ha;" + 
    "Persist Security Info=false;" + 
    "UID='" + globalvariables.user + "';" + 
    "PWD='" + globalvariables.psw + "'");

string query = "SELECT distinct ha FROM app WHERE 1+1=2";

if (comboBox1.Text != "")
{
    query += " AND firma = '" + comboBox1.Text + "'";
}

if (comboBox2.Text != "")
{
    query += " AND type = '" + comboBox2.Text + "'";
}

if (comboBox3.Text != "")
{
    query += " AND farve = '" + comboBox3.Text + "'";
}

SqlCommand mySqlCmd = con.CreateCommand();
mySqlCmd.CommandText = query;

con.Open();
…

Respuestas a la pregunta(2)

Su respuesta a la pregunta