Allora, cerco di essere breve e chiaro:

Prima di tutto ti conviene utilizzare una storedProcedure e l'esempio che ti riporto fà riferimento ad una tabella (inventata al momento) su cui ci sono diversi campi.

Supponiamo di avere la tabella Anagrafica che contiene i campi: Nome,Cognome,DataDiNascita,CodiceFiscale,Indirizzo .

Ora creo una storedProcedure che mi permetta di ricercare all'interno di questa tabella secondo uno o più parametri "passati":
codice:
CREATE PROCEDURE anagraficaCerca 
 @Nome varchar(20) = null,
 @Cognome varchar(20) = null, 
 @DataDiNascita datetime = null,
 @CodiceFiscale char(16) = null, 
 @Indirizzo varchar(20) = null
AS
 SELECT a.Nome,a.Cognome,a.DataDiNascita,a.CodiceFiscale,a.Indirizzo
 FROM dbo.Anagrafica a
 WHERE a.Nome = ISNULL(@Nome,a.Nome)
 AND a.Cognome = ISNULL(@Cognome,a.Cognome)
 AND a.DataDiNascita = ISNULL(@DataDiNascita,a.DataDiNascita)
 AND a.CodiceFiscale = ISNULL(@CodiceFiscale,a.CodiceFiscale)
 AND a.Indirizzo = ISNULL(@Indirizzo,a.Indirizzo)
Nota nella storedProcedure tutti i parametri sono impostati @Param = NULL in fase di dichiarazione, in questo modo possiamo successivamente omettere il passaggio del parametro, e se sono null quando viene eseguita la query provvedere a sostituire ognuno di essi con il corrispettivo valore di colonna della tabella ( ... Table.Param = ISNULL(@Param, Table.Param) in questo modo vengono selezionati tutti i dati in quando l'uguaglianza e logica trattandosi di una comparazione del tipo Colonna = StessaColonna.

Per quanto riguarda la scrittura del codice, niente di speciale. Io "mastico c#" e te lo scrivo cosi come ricordo:

supponiamo di avete i seguenti campi:
Nome: TextBox
Cognome: TextBox
DataDiNascita: DateTimePicker
CodiceFiscale: TextBox
Indirizzo: TextBox

Ora la porzione di codice in cui viene inizializzato un oggetto di tipo System.Data.SqlClient.SqlCommand:

codice:
 SqlCommand cm = new SqlCommand(...)
 if(!string.IsNullOrEmpty(Nome.text))
  cm.Parameters.Add(....)
stessa cosa vale per tutti gli altri campi, spero di esserti stato d'aiuto, se hai dubbi avvisami! Questo è solo uno dei tanti modi in cui è possibile eseguire query di questo tipo!