Creating an SqlCommand object does not fetch anything from a database - you have to specifically instruct it to execute the command - which your code doesn't do. In addition, converting an SqlCommand object to a string will just return "System.Data.SqlClient.SqlCommand" rather than any data it might be associated with. And it would help if you passed your parameterized value over as well...
Try this:
using (SqlConnection con = new SqlConnection(strConnect))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("SELECT ans FROM Que1 WHERE que_id=@qu_i", con))
{
cmd.Parameters.AddWithValue("@qu_i", qu_i);
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
string ans = (string) reader["ans"];
Console.WriteLine("Answer is: {0}", ans);
}
}
}
}