Hey have you rooted the phone?
The issue can be that your firmware has been rooted and flashed so the 3g is not working due to the use of custom firmware.
In summary, there is something wrong with the operating system on the phone.
You can flash the phone or wipe the cache or data on it and reset everything to manufacturers default in other to get your 3g working.
This is quite technical so let me know if you are willing to do it yourself or you will send it to phone professionals to fix it for you.
If you can do it yourself,
I will give you the instructions