If this query:
Select MOSQUEID,NAME,CITY,POSTCODE,PHONE from tbl_mosque Where MOSQUEID=332
is returning any records, then you have one or more rows in your table which have a MosqueId of 332 - it will not invent such info!
So start by looking at the row(s) the query returns and see exactly what it is returning. Compare that to what is in the table (using SSMS to view the contents).
If the row doesn't exist, check your connection string and which table you are using.
It may be that you are using an IDENTITY column and assuming that having 200 entries implies that the IDENTITY values will always range from 1 to 200 - but SQL doesn't "reuse" values, so if you DELETE rows, and INSERT them again they will not get the same ID value.