PDA

View Full Version : چگونگی ذخیره نمرات برای یک ترم دانشجو



mohsen_zelzela00
یک شنبه 06 تیر 1389, 19:55 عصر
با سلام خدمت اساتید محترم

در یک پروژه دانشجویی می خوام که یک قسمت ثبت نمرات داشته باشم یعنی یک فرم داشته باشم که کاربر مشخصه درس را وارد می کند و پس از کلیک بر روی دکمه جستجو تمام دانشجویانی که آن مشخصه را گرفتند به استاد نشون داده میشه و استاد بتونه برای تمام دانشجویان نمره وارد کند

حالا مشکل من

برای اینکه لیست تمام هنرجویانی رو که اون مشخصه رو گرفتند به استاد نشون داده بشه که وقتی لیست به استاد نشون داده شد استاد بتونه نمرات رو وارد کند از چه کنترلی استفاده کنم؟؟؟؟


و برای اینکه نمرات تمام دانشجویان را با هم ذخیره کنم راهکار چیست؟؟؟؟



ممنون میشم اساتید محترم راهنمایی کنند

salehbagheri
دوشنبه 07 تیر 1389, 22:03 عصر
ببینید دوست عزیز این موارد نیاز به تفکر عمیق و ارائه راهکارهای درست و منطقی داره! همینطوری نمیشه بهش جواب داد!

جداول گوناگونی لازم دارید که اکثرشون رو باید به هم ارتباط بدید ...

جدول مشخصات دانشجویان، جدول ترمها، جدول نمرات، جدول دروس، جدول اساتید و ...

در کل روشهای گوناگونی برای این موضوع هست.


از چه کنترلی استفاده کنم؟؟؟؟
کنترل؟

منظورتون رو دقیق متوجه نمیشم ولی فکر کنم TextBox رو دنبالشید!


برای اینکه نمرات تمام دانشجویان را با هم ذخیره کنم راهکار چیست؟؟؟؟

یعنی چی؟

خوب چندین تا Textbox در فرمتون قرار بدید مخصوص نمره هر دانشجو !

احتمال میدم که شما از Base مشکل داشته باشید. در قسمت جداول و ... که باید اونها رو به روش صحیح دسته بندی کنید ...

aminghaderi
دوشنبه 07 تیر 1389, 22:24 عصر
1- به نظر من این سوال شما مربوط به پایگاه داده می شه نه Asp.Net !

2- به قول جناب باقری :

ببینید دوست عزیز این موارد نیاز به تفکر عمیق و ارائه راهکارهای درست و منطقی داره! همینطوری نمیشه بهش جواب داد!

جداول گوناگونی لازم دارید که اکثرشون رو باید به هم ارتباط بدید ...

اوبالیت به بو
دوشنبه 07 تیر 1389, 23:16 عصر
ولي ايشون مشكلي تو نحوه كار كردن و ليست گيري دانشجو ها مشكلي نداره.

دنبال يه كنترل تو ASP.NET مي گرده كه وقتي دانشجوهاش رو ليست كرد نمره وارد كنه

L_eskandary
دوشنبه 07 تیر 1389, 23:45 عصر
سلام دوست عزیز.
خوب برا اینکار می تونید توی grid از template استفاده کنید و تو اون هم textbox بذارید که با اینکار نمرات مربوط به هر دانشجو رو تو textbox بنویسید و بعدش هم که با یه حلقه Foreach مقادیر هر سطر از grid رو به جدول تون اضافه کنید . البته من تا حالا این کار رو نکردم ولی امید وارم در مورد مشکل شما جواب بده .

mohsen_zelzela00
سه شنبه 08 تیر 1389, 22:16 عصر
جدول مشخصات دانشجویان، جدول ترمها، جدول نمرات، جدول دروس، جدول اساتید و ...

در کل روشهای گوناگونی برای این موضوع هست.


کنترل؟

منظورتون رو دقیق متوجه نمیشم ولی فکر کنم TextBox رو دنبالشید!



یعنی چی؟

خوب چندین تا Textbox در فرمتون قرار بدید مخصوص نمره هر دانشجو !

احتمال میدم که شما از Base مشکل داشته باشید. در قسمت جداول و ... که باید اونها رو به روش صحیح دسته بندی کنید ...[/
quote]

فکر کنم من منظورم رو درست عرض نکردم

من با query نوشتن مشکلی ندارم من می خوام وقتی استاد X وارد قسمت ثبت نمرات شد و مشخصه درس خودش رو وارد کرد لیست تمام دانشجویان که در این ترم اون مشخصه رو گرفتند (تا اینجا مشکل ندارم) در یک کنترلی ظاهر بشه و استاد بتونه نمرات رو وارد کنه

دوستان گفتن که از textbox استفاده کن خب درسته ولی چگونه بتونم جلوی نام هر دانشجو یک textbox بزارم و استاد با زدن دکمه ثبت اطلاعات اون textbox ها خونده بشه و در database ذخیره بشه و چگونه می تونم تشخیص بدم که ای textbox برای کدام دانشجو است

[quote=aminghaderi;1026818]1- به نظر من این سوال شما مربوط به پایگاه داده می شه نه ASP.NET !

2- به قول جناب باقری :


ولي ايشون مشكلي تو نحوه كار كردن و ليست گيري دانشجو ها مشكلي نداره.

دنبال يه كنترل تو ASP.NET مي گرده كه وقتي دانشجوهاش رو ليست كرد نمره وارد كنه
کاملاً درسته برادر

mohsen_namad
سه شنبه 08 تیر 1389, 23:41 عصر
دوست عزیز میتونی اطلاعاتت رو در یه gridview نشون بدی بعدش با خاصیت ویرایش گراید ویو برای هر دانشجو تغییراتی رو اعمال کنی.

Peyman.Gh
چهارشنبه 09 تیر 1389, 00:40 صبح
دوست عزیز میتونی اطلاعاتت رو در یه gridview نشون بدی بعدش با خاصیت ویرایش گراید ویو برای هر دانشجو تغییراتی رو اعمال کنی.


برای هر رکورد باید جداگانه Edit انجام شود و ذخیره شود که راه خوبی نمیباشد
باید Update بصورت دسته ای انجام شود :متفکر:

ehsan2007
چهارشنبه 09 تیر 1389, 01:00 صبح
سلام دوست عزیز از اینجا پروژه مدرسه رو دانلود کن
http://barnamenevis.org/forum/showthread.php?t=213706
بعد از ران کردنش قسمت مدیریت مدرسه >> ثبت نمرات برو
به صورت کاملا آجاکسی نمرات ثبت میشه
موفق باشی

svahidm
پنج شنبه 10 تیر 1389, 14:04 عصر
سلام
با نظر آقاي L_eskandary موافقم ،اين كارو با datalist هم انجام دادم ،تو foreach اطلاعات رو تو يه DAtatable بريزو Update كن

L_eskandary
پنج شنبه 10 تیر 1389, 14:33 عصر
سلام . از اینکه بعد عمری آقا شدم شاخ در آوردم...
و اما یه راه حل دیگه :
خوب من اینکار رو انجام دادم و جواب داد به صورت زیر :
خوب شما که یه template ایجاد کردین حالا برا این که update‌یا edit‌به صورت یکجا اعمال بشه کافیه یه botton تو footer این template‌قرار بدین و تو click اون بگین مقادیر رو update‌ با مقادیری که الان به textbox‌اضافه میشن update‌کنه همه رو یکجا .
در مورد Insert‌هم میشه خیلی راحت اینکار رو‌ انجام داد .
اینم یه نمونه کد :



int anyerror = 0;
try
{
foreach (GridViewRow gvr in this.GridView1.Rows)
{

TextBox num = (TextBox)gvr.FindControl("TextBox1");
int n = Convert.ToInt32(num.Text);

com.Connection = con;
com.Transaction = tr;

con.Open();
this.tr = con.BeginTransaction();
com.Transaction = tr;
com.CommandText = "Insert into [order](codef,codeanbar,tedad)values('" + Convert.ToInt32(Label5.Text) + "','" + Convert.ToInt32(gvr.Cells[1].Text) + "','" + n + "')"
) ";
com.ExecuteNonQuery();

try
{
if (anyerror > 0)
{
this.tr.Rollback();
}
else
{

this.tr.Commit();
}

this.con.Close();


}
catch (SqlException eee)
{
throw eee;
}

}



}

catch (SqlException ee)
{
anyerror++;
throw ee;

}