First, I've never seen an SQL express instance use the year. Typically it is always localhost\SqlExpress
In configuration manager, ensure TCP/IP and Named Pipes are enabled.
In control panel, try and create a SQL connection with the SQL Server Driver (under Administrative tools) -> Data Sources as this will just test a local connection with very few variables (eg, your code (which I'm sure is written perfectly :) ))
Also, do you have 2 places you are referencing your connection string (I've done this); it was saved in my app.config file and as a string in my code (or even a resource string).
Connect via IP address instead of computer name (this means updating your connection string too - details on how at bottom of this post).
Lastly, update your connection string to
Data Source=.\sqlexpress2012; Initial Catalog=TestDatabase; Integrated Security=SSPI; User ID=myDomain\myUsername; Password=myPassword;
or try it with:
Server=.\sqlexpress2012; Database=TestDatabase; Trusted_Connection=True;
I will assume the user has efficient rights to the database in question. :)
Ensure the SQL ports, typically 1433 and 1434 are open.
Log on to SSMS with the username/password to ensure they do have permissions.
www.ConnectionStrings.com - Great resource for connection strings! :)