سلام من در برنامه یه سری گزارش بیمار دارم که تو یه گریدویو نمایش داده میشه میخوام وقتی روی یک سطر این گرید ویو کلیک میکنم آی دی گزارش به من داده بشه تا برم داده های مربوط به این گزارش رو از جدول استخراج کنم داده گزارش خودش باید یه آی دی به من بده تا برم تو یه جدول دیگه داده های ریزتر رو برای رسم روی نمودار استخراج کنم الان مشکلم اینه که آی دی گزارش رو از گریدویو میگیرم وقتی میرم تو جدول کوئری میزنم تا داده موردنظرمو دریافت کنم بجای اینکه سطرهای مربوط به اون ای دی رو به من بده کل سطرها رو برمیگردونه تابع استخراج داده ام به شکل زیر هست که باید خروجیش یه جدولی باشه با سطرهای موردنظرم مشکل کد کجاست؟

        public DataTable GetReapetSportDevice(string reportID)
{
OleDbConnection ocn = new OleDbConnection();
OleDbCommand ocm = new OleDbCommand();

ocn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\db\SportDatabase.accdb";

ocm.Connection = ocn;
ocn.Open();

ocm.CommandText = "SELECT * FROM Reapet WHERE Reapet.ReportID = reportID";

ocm.Parameters.AddWithValue("reportID", reportID);

OleDbDataAdapter adapter = new OleDbDataAdapter(ocm);
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds.Tables[0];

}

مگه نباید وقتی دیتاآداپتور فیل میکنه با کوئری مربوطه فیل کنه چرا همه جدول رو برمیگردونه؟