search ก่อน แล้วโชว์ใน crystal report ถามนิดนึงครับคือผมมีการ search ข้อมูล แล้วก็ เก็บเป็น Session["OrderID"] ไว้
ถามนิดนึงครับ
คือผมมีการ search ข้อมูล
แล้วก็ เก็บเป็น Session["OrderID"] ไว้
หลังจาก search ก็จะโชว์เป็น กริดวิว
แล้วก็มีปุ่ม View ต่อท้าย
ซึ่งพอกดปุ่ม View ก็จะส่ง เซสชั่นไป หน้า crystal report
แล้วผมจะใช้ เซสชั่น นี้
ในการดึงข้อมูลจาก ฐานข้อมูล ในหน้า crystal report
ผมจะออกแบบประมาณไหนดีอะครับ
คือไม่เคยเล่น crystal report เลย
แล้วเราจะดึงข้อมูลจากฐานข้อมูล
ที่เกี่ยวกับ เซสชั่นนั้น ได้มั๊ย
ทำยังไงอะครับ ต้องใช้ field อะไร เวลาสร้าง
คือจะดึงประมาณว่า orderID นี้ มี product ไรบ้าง
กี่ชิ้น รวมทั้งหมดเป็นเท่าไหร่ ตอนนี้ order status เป็นไง
ซึ่งมัน join ประมาณ 3 เทเบิล ใน ฐานข้อมูลอะครับ
ผมมี คิวรี เรียบร้อยแล้วอะครับ
แล้วจะเอามันไปโชว์ได้ยังไงใน crystal report
string orderID = Session["ordID"].ToString();
string sqlOrder = "select tranOrder.Order_ID as orderID, ";
sqlOrder += "tranOrder.Order_Date as orderDate, ";
sqlOrder += "tranOrder.Order_Time as orderTime, ";
sqlOrder += "(masStaff.Staff_FName + ' ' + masStaff.Staff_LName) as StaffName, ";
sqlOrder += "(masCustomer.Cust_FName + ' ' + masCustomer.Cust_LName) as CustName, ";
sqlOrder += "tranOrder.Order_TotalPrice as orderPrice, ";
sqlOrder += "(tranOrder.Receiver_FName + ' ' + tranOrder.Receiver_LName) as RecvName, ";
sqlOrder += "tranOrder.Receiver_Address as RecvAddress, ";
sqlOrder += "tranOrder.Receiver_Telephone as RecvTelephone, ";
sqlOrder += "tranOrder.Order_Complete as orderStatus ";
sqlOrder += "from masStaff, masCustomer, tranOrder ";
sqlOrder += "where tranOrder.Staff_ID = masStaff.Staff_ID ";
sqlOrder += "and tranOrder.Cust_ID = masCustomer.Cust_ID ";
sqlOrder += "and tranOrder.Order_ID = " + Session["ordID"].ToString();
string sqlOrderDetail = "SELECT DISTINCT Prod_Barcode as Barcode, ";
sqlOrderDetail += "PO_ProdQty as Qty, ";
sqlOrderDetail += "Order_Item_TotalPrice as ItemPrice, ";
sqlOrderDetail += "Prod_Complete as Status ";
sqlOrderDetail += "FROM tranProductOrder ";
sqlOrderDetail += "WHERE Order_ID = " + Session["ordID"].ToString();
string sqlCustomer = "select distinct (masCustomer.Cust_FName + ' ' + masCustomer.Cust_LName) as CustName, ";
sqlCustomer += "masCustomer.Cust_Address as CustAddress, ";
sqlCustomer += "masCustomer.Cust_Tel as CustTelephone ";
sqlCustomer += "from masCustomer, tranOrder ";
sqlCustomer += "where masCustomer.Cust_ID = tranOrder.Cust_ID ";
sqlCustomer += "and tranOrder.Order_ID = " + Session["ordID"].ToString();
SqlDataAdapter da1 = new SqlDataAdapter(sqlOrder, Conn);
DataSet ds1 = new DataSet();
da1.Fill(ds1, "Order");
SqlDataAdapter da2 = new SqlDataAdapter(sqlOrderDetail, Conn);
DataSet ds2 = new DataSet();
da2.Fill(ds2, "OrderDetail");
SqlDataAdapter da3 = new SqlDataAdapter(sqlCustomer, Conn);
DataSet ds3 = new DataSet();
da3.Fill(ds3, "Customer");
Session["dsOrder"] = ds1;
Session["dsOrderDetail"] = ds2;
Session["dsCustomer"] = ds1;
พอดี ในรีพอร์ต ผม แบ่งออกเป็นสามส่วนหลักๆ อะครับ
เลยเก็บไว้คนละ dataset
ถ้ามีไรดีดีแนะนำหน่อยนะครับTag : - - - -
Date :
2009-02-10 22:28:38
By :
mixarstudio
View :
4108
Reply :
9
Crystal Report มันมี Parameter field ให้นะครับ ก็ทำ Field สำหรับใส่ orderID แล้วส่งค่าไป
แต่ก่อนอื่นขอถามหน่อย ที่ว่าเพิ่งใช้ Crystal Report นี่ทำ Parameter Fild เป็นรึยังครับ
Date :
2009-02-11 06:34:40
By :
Zeve
สอนด้วยจะดีมากมากเลยครับ
ขอบพระคุณอย่างสูงงงง
Date :
2009-02-11 14:08:47
By :
mixarstudio
กำ ก่อนอื่นต้องรู้จักใช้ Parameter Field ของ crystal report และใช้ให้เป็นก่อนนะครับ
หน้าที่ของมันคือทำให้เราเลือกข้อมูลได้ว่าอยากได้ข้อมูลตรงไหน เหมือนใช้ where ของ sql
ต้องหาหนังสืออ่านเอานะครับ มันยาว
พอใช้เป็นแล้ว เดี๋ยวเอาโค้ด ASP.NET C# ติดต่อ Crystal Report ให้
Date :
2009-02-13 01:35:20
By :
Zeve
ขอบคุณครับ ผมพอรู้จัก parameter field อยู่บ้าง
แต่พวกหนังสือ ก็ไม่ได้สอนอะไรลึกขนาดนี้
ยังไงผมจะลองดูนะครับ ขอบคุณมากครับที่ให้คำแนะนำมากมายขนาดนี้
Date :
2009-02-13 21:30:54
By :
mixarstudio
แล้วถ้าผมใช้ Windows Authentication ล่ะครับ
ไม่ได้ใช้ sa ในการ login ผมจะ connect ยังไงครับ
Date :
2009-02-18 14:13:32
By :
mixarstudio
crParameterDiscreteValue.Value = bill_id; // ส่งตัวแปรจาก C# ไปให้ Crystal. ตรงนี้ไง
อย่างบรรทัดนี้ ก็คือ ส่งค่า bill_id มาจาก C# ใช่ปะ
คือผมมี แค่ orderID อะ ที่ส่งค่ามาหน้านี้
แล้วก็มี คิวรี่ แบบที่ให้ดูข้างบน
เพื่อดึงข้อมูล ใน ออร์เดอร์มาโชว์อะครับ
คือผมจะดึงข้อมูล ที่ relate กับ orderID ที่ส่งเข้ามา
มาโชว์อะ อย่างเช่น
Order ID : 123456789744223
Staff : Mr. A BACUS
Customer : Makro Store
--------------------------------------------------------------------------------------------------------------------------
Barcode Name Qty Price Status
--------------------------------------------------------------------------------------------------------------------------
8456974569745 Bowl 20 200.00 Shipped
8456974569772 Tray 24 10 560.00 Shipped
8456974569788 Cup A45 10 500.00 Unshipped
--------------------------------------------------------------------------------------------------------------------------
Receiver Name : Mr. A BACUS
Receiver Address : Bangkok 10600
Receiver Telephone : 024654444
คือผมเก็บ Session มาแค่ OrderID
แล้วตัวที่เหลือล่ะครับ จิงจิงผม ดึงข้อมูลมาจาก select statement
แล้วผมจะเอาข้อมูลตรงนั้นมาโชว์ได้มั๊ย
หรือว่าต้องเขียน connect database ใน crystal report
แล้วจะดึงข้อมูลมาโชว์ยังไงครับ
ผมใช้ 3 tables ใน database อย่างที่ โพสไว้อันแรกอะครับ
รบกวนอีกนิดนึงครับ
เพราะผมยังมีอีกหลายเพจเลย ที่เป็น style นี้อะ
Date :
2009-02-18 14:28:35
By :
mixarstudio
ช่วยแปลงเป็น VB ได้ป่าวครับ ผมถนัด VB8iy[
Date :
2009-03-03 00:23:03
By :
tanasorn
Load balance : Server 05