فوری : بیرون کشیدن اطلاعات خاص به صورت حلقه در asp

mahsa66

عضو جدید
کاربر ممتاز
سلام دوستان مهندس
من می خوام بدونم چطوری می شه اطلاعات خاصی رو در یک حلقه از db بیرون کشید
مثلا من می خوام تعداد واحد هایی رو که یه دانشجو اخذ کرده رو با هم جمع کنم تا توی محاسبه معدل ازش استفاده کنم ولی نمیدونم چطوری چون تعداد درس هاشم نمی دونم، من دنبال دستوری نظیر
کد:
          while($f=mysql_fetch_array($res)){ $sum=$f['num_vahed']+$sum;}
در asp میگردم
ممنون اگه راهنماییم کنید. و یه نمونه برام بذارید:gol:
 

mina_1367

عضو جدید
count1 = GridView1.Rows.Count;

for (int i = 0; i <= count1 - 1; i++)
{
if (ds.Tables["karnameh"].Rows[3].ToString() != null)
{


// a = (GridView1.Rows.Cells[1].Text.ToString());
// b = (GridView1.Rows.Cells[2].Text.ToString());
// d1 = (GridView1.Rows.Cells[3].Text.ToString());
// c = Double.Parse(GridView1.Rows.Cells[2].Text.ToString()) + Double.Parse(GridView1.Rows.Cells[1].Text.ToString());

c1 += e1;
// e1 = double.Parse(d1);

avg = c1 / f;
}
}


متغیرها رو درست نکردم چون از وسطش حذفیات داشت ، ولی مهم نیس
اصل کار اینجا اطلاعات بایند شده توی گرید و بعد تعداد سطرهای گرید گرفته شده و حلقه با توجه به اون و داخلش رکوردهایی که با دیتاست گرفته شده بررسی و جمع و تقسیم و هر کاری که مورد نیاز هست شده ،
به جای گرفتن تعداد از گرید می تونید تعداد سطرهای خود دیتاست رو بگیرید و داخل حلقه بزارید .
 

vida66

عضو جدید
سلام دوستان عزیز
پروژه ی من طراحی سایت مدرسه به زبان asp.net2008وsql2005
جداول:
جدول درس(کد‘نام‘تعداد‘کد واحد درس)
Dars(codedars,namedars,tededevahed,codevahedars)
جدول کد واحد درس(کد واحد درس‘نام واحد)
Codevahedars(codevahedars,name vahed)
مقادیر جدول:
نظری:1
عملی:2
نظری-عملی:3
جدول اخذ(کد اخذ‘کد دانش آموزی‘کد درس‘نمره‘نیمسال‘اعتراض‘تجدید نظر‘کد ترم‘معدل‘زمان اعلام نمره)
akhz(codeakhz,stcode,codedars,nomre,nimsal,eteraz,tajdidenazar,codeterm,moadel,zamaneelamenomre)
جدول دانش آموز(کد دانش آموزی ‘نام‘شماره کلاس........)
Student(stcode,sh class…..)
جدول کلاس(شماره کلاس و نام)
Class(sh class,name,mahal,tajhizat)
جدول ارائه(کد ارائه‘کد معلم‘کد درس‘روز ارائه‘ساعت ارائه‘شماره کلاس‘کد ترم)
Eraeh(codeeraeh,codemoalem,codedars,day,saat eraeh,sh class,codeterm)
جدول معلم(کد معلم ‘........)
Moalem(codemoalem,…….)
اول معلم وقتی وارد پورتالش میشه که نمره وارد کنه یه dropdownlist گذاشتم که لیست تمام درس هایی که این معلم ارائه میده بیاره
کد:
SELECT eraeh.codedars, dars.namedars FROM moalem INNER JOIN eraeh ON moalem.codemoalem = eraeh.codemoalem INNER JOIN dars ON eraeh.codedars = dars.codedars WHERE (eraeh.codemoalem = @codemoalem) AND (eraeh.codeterm = @p1)
که لیست تمامشو میاره مشکلی نیست
ویه dropdownlist دیگه گذاشتم که لیست تمام کلاس هارو بیاره
کد:
SELECT DISTINCT sh_class FROM eraeh WHERE (codeterm = @p1) AND (codemoalem = @codemoalem)
چون سیستم مدرسه خود دانش آموز اخذ نمیکنه وقتی معلم نمره وارد میکنه اون موقعس که جدول اخذ پر میشه
بعد یه gridview گذاشتم که لیست تمام دانش آموزان بیاره به شرطی شماره کلاس برابر با dropdownlist دومی
کد:
SELECT DISTINCT student.axdanesh, student.stcode FROM class INNER JOIN student ON class.sh_class = student.sh_class WHERE (student.sh_class = @sh_class)
و این gridview را page بندی کردم که معلم صفحه به صفحه جلو بره و نمره وارد کنه برای این کار یه textbox پایین gridview گذاشتم نمره رو که وارد میکنه و باتن درج رو که میزنه نمره درج بشه
کد:





[FONT=&quot]SqlConnection[/FONT][FONT=&quot] con = new SqlConnection();[/FONT]​
[FONT=&quot] con.ConnectionString = ConfigurationManager.ConnectionStrings["MYCS"].ConnectionString;[/FONT]​
[FONT=&quot] con.Open();[/FONT]​
[FONT=&quot] SqlCommand Com = new SqlCommand();[/FONT]​
[FONT=&quot] Com.Connection = con;[/FONT]​
[FONT=&quot] Com.CommandText = "SELECT akhz.stcode, akhz.codedars, student.sh_class FROM student INNER JOIN akhz ON student.stcode = akhz.stcode INNER JOIN dars ON akhz.codedars = dars.codedars WHERE (akhz.stcode = @stcode) AND (akhz.codedars = @codedars) AND (student.sh_class = @sh_class)";[/FONT]​
[FONT=&quot] Com.Parameters.AddWithValue("stcode", GridView1.SelectedValue);[/FONT]​
[FONT=&quot] Com.Parameters.AddWithValue("codedars", DropDownList1.SelectedValue);[/FONT]​
[FONT=&quot] Com.Parameters.AddWithValue("sh_class", DropDownList2.SelectedValue);[/FONT]​
[FONT=&quot] SqlDataReader data;[/FONT]​
[FONT=&quot] data = Com.ExecuteReader();[/FONT]​
[FONT=&quot] if (!data.Read())[/FONT]​
[FONT=&quot] {[/FONT]​
[FONT=&quot] [/FONT]​
[FONT=&quot] SqlDataSource3.Insert();[/FONT]​
[FONT=&quot] }[/FONT]​
[FONT=&quot] else[/FONT]​
[FONT=&quot] {[/FONT]​
[FONT=&quot] Label9.Text = "[/FONT][FONT=&quot]قبلا[/FONT][FONT=&quot] [/FONT][FONT=&quot]وارد[/FONT][FONT=&quot] [/FONT][FONT=&quot]دیتابیس[/FONT][FONT=&quot] [/FONT][FONT=&quot]شده[/FONT][FONT=&quot]"[/FONT][FONT=&quot];[/FONT]​
[FONT=&quot] }[/FONT]​
[FONT=&quot] }[/FONT]


و اما کد sqldatasource3.insert()
INSERT INTO akhz(stcode, codedars, nomre, nimsal, codeterm, avg, zamaneelamenomre) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7)
P1:gridview.selectedvalue
P2:dropdownlist.selectedvalue
P3:textbox.text
P5:defaultvlue(1)
نمره درج میکنه با اطلاعات دیگه فقط معدل و زمان اعلام نمره مونده که زمان اعلام نمره باید زمان سیستم وارد بشه بعد دانش آموز وقتی login کرد و خواست اعتراض بزنه بهش اخطار بده که ازمان اعتراض گذشته یا نه و از زمان اعلام نمره 10 روز بعدش وقت داره که اعتراض بزنه

و sqldatasource3.insert() مر بوط به sqlgridview
اگه میشه کدی برام بزارین ممنون میشم
 
Similar threads
Thread starter عنوان تالار پاسخ ها تاریخ
sima.eng خیلی فوری: نمایش تصویر از پایگاه داده در gridview ASP.NET 5

Similar threads

بالا