یافتن یک سطر در جدول دیتابیس اکسس از طریق کوئری در دیتاست
سلام من در برنامه یه سری گزارش بیمار دارم که تو یه گریدویو نمایش داده میشه میخوام وقتی روی یک سطر این گرید ویو کلیک میکنم آی دی گزارش به من داده بشه تا برم داده های مربوط به این گزارش رو از جدول استخراج کنم داده گزارش خودش باید یه آی دی به من بده تا برم تو یه جدول دیگه داده های ریزتر رو برای رسم روی نمودار استخراج کنم الان مشکلم اینه که آی دی گزارش رو از گریدویو میگیرم وقتی میرم تو جدول کوئری میزنم تا داده موردنظرمو دریافت کنم بجای اینکه سطرهای مربوط به اون ای دی رو به من بده کل سطرها رو برمیگردونه تابع استخراج داده ام به شکل زیر هست که باید خروجیش یه جدولی باشه با سطرهای موردنظرم مشکل کد کجاست؟
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];
}
مگه نباید وقتی دیتاآداپتور فیل میکنه با کوئری مربوطه فیل کنه چرا همه جدول رو برمیگردونه؟
نقل قول: یافتن یک سطر در جدول دیتابیس اکسس از طریق کوئری در دیتاست
خودم فهمیدم مشکل چی بود باید قبل از reportID تو کوئری @ بزارم یعنی میشه این!!!!!!!!
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];
نقل قول: یافتن یک سطر در جدول دیتابیس اکسس از طریق کوئری در دیتاست
سلام
اینطوری این سطر رو تغییر بده
ocm.CommandText = "SELECT * FROM Reapet WHERE Reapet.ReportID LIKE '" + reportID +"%';
نقل قول: یافتن یک سطر در جدول دیتابیس اکسس از طریق کوئری در دیتاست
نقل قول:
نوشته شده توسط
juza66
سلام
اینطوری این سطر رو تغییر بده
ocm.CommandText = "SELECT * FROM Reapet WHERE Reapet.ReportID LIKE '" + reportID +"%';
مشکل با همون چیزی که گفتم حل شد ممنون