vahid.kh
چهارشنبه 27 اردیبهشت 1391, 13:06 عصر
می خواهم جمع مبلغ ماهانه رو در lable نشون بده.
کد sql در نرم افزار sql که اجرا میکنم جمع رو میده.ولی در .net هیچی بر نمیگردونه.datatable خالی بر میگرده.اصلا باید از دیتا تیبل استفاده بشه یا نه؟
mydbdll.mydb db= new mydbdll.mydb();
Admission adm = new Admission ();
switch (Class1.month_shamsi)
بر اساس یکی از این ما هها
{
case 1:
m_n =" 1"; break;
case 2:
m_n = " 5 "; break;
case 3:
m_n = " 6 "; break;
case 4:
m_n = " 7 "; break;
case 5:
m_n = " 8 "; break;
case 6:
m_n = " 9 "; break;
case 7:
m_n = " 10 "; break;
case 8:
m_n = " 11 "; break;
case 9:
m_n = " 12 "; break;
case 10:
m_n = " 13 "; break;
case 11:
m_n = " 14 "; break;
case 12:
m_n = " 15 "; break;
}
string thismount;
thismount = m_n;
در لایه admission در متغیر mount مقدار یکی از ماهها ی بالا قرار میگیرد.
adm.mount =Int32.Parse (thismount) ;
DataTable dt=new DataTable ();
صدا زدن لایه adm که کدش رو پایین آوردم.
dt=adm.Totalinmont();
که این لیبل بعد از اجرای مراحل زیر جمع رو نشون بده
LblTotalIncomeInMont.Text = dt.ToString();
لایه admission
public int mount;
public DataTable Totalinmont()
{
DataTable dt = new DataTable();
string sql="select sum (amount ) from dbo.TblAdmission inner join dbo.TblMount on dbo.TblAdmission.Mid =dbo.TblMount.Mid where dbo.TblMount.Mid ={0}";
sql=string .Format (sql ,this .mount );
صدا زدن لایه دیتا بیس برای اجرای دستورات.در پایین این مجموعه کد.
db.connect ();
if(db.lasterror =="")
{
db.select (sql);
if(db .lasterror =="")
{
db.disconnect ();
}
}
lasterror =db.lasterror ;
return dt;
}
سپس این لایه مربوط به کلاس mydb که دیتا تیبل رو پر کنه و برگردونه به لایه بالا.
public DataTable select(string sql)
{
DataTable dt=new DataTable ();
try {
cmd.CommandText = sql;
da.Fill(dt);
}
catch(Exception ex)
{
if(!showfriendlymessage )
lasterror =ex.Message ;
else
lasterror +="خطا در خواندن اطلاعات .";
}
return dt;
}
می خواهم جمع مبلغ ماهانه رو در lable نشون بده.
کد sql در نرم افزار sql که اجرا میکنم جمع رو میده.ولی در .net هیچی بر نمیگردونه.datatable خالی بر میگرده.اصلا باید از دیتا تیبل استفاده بشه یا نه؟
کد sql در نرم افزار sql که اجرا میکنم جمع رو میده.ولی در .net هیچی بر نمیگردونه.datatable خالی بر میگرده.اصلا باید از دیتا تیبل استفاده بشه یا نه؟
mydbdll.mydb db= new mydbdll.mydb();
Admission adm = new Admission ();
switch (Class1.month_shamsi)
بر اساس یکی از این ما هها
{
case 1:
m_n =" 1"; break;
case 2:
m_n = " 5 "; break;
case 3:
m_n = " 6 "; break;
case 4:
m_n = " 7 "; break;
case 5:
m_n = " 8 "; break;
case 6:
m_n = " 9 "; break;
case 7:
m_n = " 10 "; break;
case 8:
m_n = " 11 "; break;
case 9:
m_n = " 12 "; break;
case 10:
m_n = " 13 "; break;
case 11:
m_n = " 14 "; break;
case 12:
m_n = " 15 "; break;
}
string thismount;
thismount = m_n;
در لایه admission در متغیر mount مقدار یکی از ماهها ی بالا قرار میگیرد.
adm.mount =Int32.Parse (thismount) ;
DataTable dt=new DataTable ();
صدا زدن لایه adm که کدش رو پایین آوردم.
dt=adm.Totalinmont();
که این لیبل بعد از اجرای مراحل زیر جمع رو نشون بده
LblTotalIncomeInMont.Text = dt.ToString();
لایه admission
public int mount;
public DataTable Totalinmont()
{
DataTable dt = new DataTable();
string sql="select sum (amount ) from dbo.TblAdmission inner join dbo.TblMount on dbo.TblAdmission.Mid =dbo.TblMount.Mid where dbo.TblMount.Mid ={0}";
sql=string .Format (sql ,this .mount );
صدا زدن لایه دیتا بیس برای اجرای دستورات.در پایین این مجموعه کد.
db.connect ();
if(db.lasterror =="")
{
db.select (sql);
if(db .lasterror =="")
{
db.disconnect ();
}
}
lasterror =db.lasterror ;
return dt;
}
سپس این لایه مربوط به کلاس mydb که دیتا تیبل رو پر کنه و برگردونه به لایه بالا.
public DataTable select(string sql)
{
DataTable dt=new DataTable ();
try {
cmd.CommandText = sql;
da.Fill(dt);
}
catch(Exception ex)
{
if(!showfriendlymessage )
lasterror =ex.Message ;
else
lasterror +="خطا در خواندن اطلاعات .";
}
return dt;
}
می خواهم جمع مبلغ ماهانه رو در lable نشون بده.
کد sql در نرم افزار sql که اجرا میکنم جمع رو میده.ولی در .net هیچی بر نمیگردونه.datatable خالی بر میگرده.اصلا باید از دیتا تیبل استفاده بشه یا نه؟