Try this
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
SqlCommand command = new SqlCommand("Select top 10 * From Transactions where id = @id", con);
command.Parameters.AddWithValue("@id", txtId.Text.Trim());
command.CommandType = CommandType.Text;
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataSet dataset = new DataSet();
adapter.Fill(dataset, "Dataset1");
ReportDocument MedicalReport = new ReportDocument();
MedicalReport.Load(Server.MapPath("CrystalReport3.rpt"));
MedicalReport.SetDataSource(dataset.Tables["Transations"]);
CrystalReportViewer1.ReportSource = MedicalReport;
CrystalReportViewer1.DataBind();
If this too does not work then
1. Debug and check the Id in TextBox
2. Use same Id and fire query in sql query analyser