mahsa66
2011/1/05, 09:20 AM
سلام دوستان مهندس
من می خوام بدونم چطوری می شه اطلاعات خاصی رو در یک حلقه از db بیرون کشید
مثلا من می خوام تعداد واحد هایی رو که یه دانشجو اخذ کرده رو با هم جمع کنم تا توی محاسبه معدل ازش استفاده کنم ولی نمیدونم چطوری چون تعداد درس هاشم نمی دونم، من دنبال دستوری نظیر
while($f=mysql_fetch_array($res)){ $sum=$f['num_vahed']+$sum;} در asp میگردم
ممنون اگه راهنماییم کنید. و یه نمونه برام بذارید:gol:
A.S.Roma
2011/1/06, 07:50 AM
ساختار بانکتون رو قرار بدید.
mina_1367
2011/1/08, 01:47 AM
count1 = GridView1.Rows.Count;
for (int i = 0; i <= count1 - 1; i++)
{
if (ds.Tables["karnameh"].Rows[i][3].ToString() != null)
{
// a = (GridView1.Rows[i].Cells[1].Text.ToString());
// b = (GridView1.Rows[i].Cells[2].Text.ToString());
// d1 = (GridView1.Rows[i].Cells[3].Text.ToString());
// c = Double.Parse(GridView1.Rows[i].Cells[2].Text.ToString()) + Double.Parse(GridView1.Rows[i].Cells[1].Text.ToString());
c1 += e1;
// e1 = double.Parse(d1);
avg = c1 / f;
}
}
متغیرها رو درست نکردم چون از وسطش حذفیات داشت ، ولی مهم نیس
اصل کار اینجا اطلاعات بایند شده توی گرید و بعد تعداد سطرهای گرید گرفته شده و حلقه با توجه به اون و داخلش رکوردهایی که با دیتاست گرفته شده بررسی و جمع و تقسیم و هر کاری که مورد نیاز هست شده ،
به جای گرفتن تعداد از گرید می تونید تعداد سطرهای خود دیتاست رو بگیرید و داخل حلقه بزارید .
vida66
2011/1/17, 10:45 AM
سلام دوستان عزیز
پروژه ی من طراحی سایت مدرسه به زبان 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 گذاشتم نمره رو که وارد میکنه و باتن درج رو که میزنه نمره درج بشه
کد:
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["MYCS"].ConnectionString;
con.Open();
SqlCommand Com = new SqlCommand();
Com.Connection = con;
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)";
Com.Parameters.AddWithValue("stcode", GridView1.SelectedValue);
Com.Parameters.AddWithValue("codedars", DropDownList1.SelectedValue);
Com.Parameters.AddWithValue("sh_class", DropDownList2.SelectedValue);
SqlDataReader data;
data = Com.ExecuteReader();
if (!data.Read())
{
SqlDataSource3.Insert();
}
else
{
Label9.Text = "قبلا وارد دیتابیس شده";
}
}
و اما کد 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
اگه میشه کدی برام بزارین ممنون میشم
Powered by vBulletin® Version 4.1.12 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.