|
|
|
ต้องการคำนวณยอดขายย้อนหลัง 3 เดือน ต้องทำอย่างไรคะ เขียนโดยใช้ c# |
|
|
|
|
|
|
|
ถ้าต้องการคำนวณยอดขายย้อนหลัง 3 เดือน ต้องทำอย่างไรคะ เขียนโดยใช้ c# นะค่ะ ตอนนี้เขียนไปบ้างแล้วแต่ยอดที่ขึ้นเป็น "0" เพราะโค้ดยังไม่สมบูรณ์ พี่ๆช่วยดูให้หน่อยนะคะ
Code (C#)
private void get3month()
{
string strd, strd1, strd2, strd3, strm, stry, strdt;
strd1 = "/31/";
strd2 = "/30/";
strd3 = "/29/";
strd = cb_date.EditValue.ToString().Substring(3, 2);
strm = cb_date.EditValue.ToString().Substring(0, 2);
stry = cb_date.EditValue.ToString().Substring(6, 4);
if ()
{
}
strdt = strm + strd + stry;
txtdate.EditValue = strdt;
DT = (Convert.ToInt32(StrMount) - Mount);//month now - month select = month show
if ((DT < 0))//month show < 0
{
DT = 0; //month show = 0
DT = (Mount - Convert.ToInt32(StrMount));//month show = month select - month now
Str3 = cbdate_str.Text.Substring(6, 4);//year now
DT2 = (12 - DT);//12 - montn show = month show2
DT3 = (Convert.ToInt32(Str3) - 1);//year now - 1 = year show
X = DT2.ToString().Length;
if ((X == 1))
{
Dateback = ("0" + DT2.ToString());
Str2 = (Dateback
+ (cbdate_str.Text.Substring(2, 4) + DT3.ToString()));
}
else
{
Str2 = (DT2.ToString()
+ (cbdate_str.Text.Substring(2, 4) + DT3.ToString()));
}
MessageBox.Show(Str2);
dsca = ojsql2.GetDataSet("select month(ddate) dmonth,sum(iquantity) qty,sum(isum )amt from salebillvouch a inner join salebillvouchs b on a.sbvid=b.sbvid where cinvcode='" + txtpd_code.Text + "' and ddate>='" + cbdate_str.EditValue + "' and ddate<='" + Str2 + "' group by month(ddate)", "data");
gvFile.DataSource = dsca.Tables[0];
}
else
{
Str3 = cbdate_str.Text.Substring(6, 4);
DT3 = (Convert.ToInt32(Str3) - 1);
X = DT.ToString().Length;
if ((X == 1))
{
Dateback = ("0" + DT.ToString());
if ((Dateback == "00"))
{
Str2 = ("12"
+ (cbdate_str.Text.Substring(2, 4) + DT3.ToString()));
}
else
{
Str2 = (Dateback
+ (cbdate_str.Text.Substring(2, 3) + cbdate_str.Text.Substring(5, 5)));
}
}
else if ((DT.ToString() == "00"))
{
Str2 = ("12"
+ (cbdate_str.Text.Substring(2, 4) + DT3.ToString()));
}
else
{
Str2 = (DT.ToString()
+ (cbdate_str.Text.Substring(2, 3) + cbdate_str.Text.Substring(5, 5)));
}
MessageBox.Show(Str2);
dsca = ojsql2.GetDataSet("select month(ddate) dmonth,sum(iquantity) qty,sum(isum )amt from salebillvouch a inner join salebillvouchs b on a.sbvid=b.sbvid where cinvcode='" + txtpd_code.Text + "' and ddate>='" + Str2 + "' and ddate<='" + cbdate_str.EditValue + "' group by month(ddate)", "data");
gvFile.DataSource = dsca.Tables[0];
}
}
Tag : .NET, Ms SQL Server 2008, C#, VS 2008 (.NET 3.x)
|
|
|
|
|
|
Date :
2012-05-30 13:38:18 |
By :
noopin |
View :
1528 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองใช้พวก DateAdd เพื่อหาวันที่ย้อนหลัง 3 เดือนครับ จากนั้นก็เอาไป WHERE ใน Code ครับ
|
|
|
|
|
Date :
2012-05-30 15:57:13 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใน c# สามารถเขียนโค้ดแบบ php ได้ไม๊คะ พอดีฟังก์ชั่นนี้ใน php ทำได้แต่ไม่รู้โค้ดของ c#
<? $today = date("m/d/Y"); //เริ่มสร้าง function วันที่ปัจจุบันซึ่งจะตรงตามค่า ของเครื่อง Server
$start3m = date("m/d/Y",strtotime("-3 month",strtotime($today))); //สร้าง function ปัจจุบัน m/d/Y แล้วนำมาลบ -3 month
|
|
|
|
|
Date :
2012-05-30 16:58:16 |
By :
noopin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|