Take a look here:
where matricule='"+int.Parse(mat)+"'";
Evaluates to:
where matricule='5' // just an example
It's probably treating your "5" as a string. Try changing that to:
where matricule="+int.Parse(mat);
It'd also be a good thing to look into parameterizing your query. It's safer and makes the sql statement easier to maintain too.