نوشتن روی تمام ردیفهای دیتابیس
سلام دوستان، من روی یک برنامه حضور و غیاب برای یک آموزشگاه کار میکنم در این برنامه ما چهار جدول داریم، جدول کلاسها، جدول اساتید، جدول دورههای آموزشی و جدول حضور و غیاب، در جدول حضور و غیاب آیدی جدول کلاس، تاریخ و وضعیت حضور ثبت میشه. حالا من برای هر تاریخ باید چک کنم ببینم جدول حضور و غیاب ثبت شده یا نه اگر ثبت نشده جدول مربوط به آن تاریخ رو ایجاد کنم.
من از قبل یک کوئری نوشتم که اطلاعات تمام کلاسهایی که بر فرض دوره پایتون مقدماتی در آنها تدریس میشه را داخل یک متغییر به نام Result ذخیره میکنه. در قدم بعدی کد زیر را نوشتم:
foreach (DataRow row in Result.Rows)
{
Attendance.InsertQuery((int) Result.Rows[0][0] ,persianCelender1.Value.ToString(), null);
{
مشکل این کد اینکه برفرض برای یک دوره چهار کلاس وجود داره اما فقط به ازای آیدی اولین کلاس رکورد داخل جدول ایجاد میشه و خیلی روش فکر کردم اما چیزی به ذهنم نرسید. ممنون میشم راهنمایی کنید.
نقل قول: نوشتن روی تمام ردیفهای دیتابیس
نقل قول:
نوشته شده توسط
GreenMan2020
سلام دوستان، من روی یک برنامه حضور و غیاب برای یک آموزشگاه کار میکنم در این برنامه ما چهار جدول داریم، جدول کلاسها، جدول اساتید، جدول دورههای آموزشی و جدول حضور و غیاب، در جدول حضور و غیاب آیدی جدول کلاس، تاریخ و وضعیت حضور ثبت میشه. حالا من برای هر تاریخ باید چک کنم ببینم جدول حضور و غیاب ثبت شده یا نه اگر ثبت نشده جدول مربوط به آن تاریخ رو ایجاد کنم.<br>من از قبل یک کوئری نوشتم که اطلاعات تمام کلاسهایی که بر فرض دوره پایتون مقدماتی در آنها تدریس میشه را داخل یک متغییر به نام Result ذخیره میکنه. در قدم بعدی کد زیر را نوشتم:<br>
<br><div>foreach (DataRow row in Result.Rows)</div><div> {</div><div> Attendance.InsertQuery((int) Result.Rows[0][0] ,persianCelender1.Value.ToString(), null);</div><div> }</div>
<br><br>مشکل این کد اینکه برفرض برای یک دوره چهار کلاس وجود داره اما فقط به ازای آیدی اولین کلاس رکورد داخل جدول ایجاد میشه و خیلی روش فکر کردم اما چیزی به ذهنم نرسید. ممنون میشم راهنمایی کنید.
شمارنده foreach شما DataRow row ئه ولی در InsertQuery هیچ اشاره ای به row و id اش نکرده اید، از Result.Rows[0][0] استفاده کرده اید که طبعا همیشه id اولین سطر ئه،
بجای Result.Rows[0][0] مقدار row[0] رو بکار ببرید.
Attendance.InsertQuery((int)row[0] ,persianCelender1.Value.ToString(), null);