這樣說也許不太清楚明瞭 (我也這樣覺得 ......
沒關係~
接下來step by step建立示範,希望我寫得夠貼近!
使用的SQL語法為:
(SELECT DISTINCT PNUMBER FROM PROJECT,DEPARTMENT,EMPLOYEE WHERE DNUM=DNUMBER AND MGRSSN=SSN AND LNAME='SMITH') UNION (SELECT DISTINCT PNUMBER FROM PROJECT,WORKS_ON,EMPLOYEE WHERE PNUMBER=PNO AND ESSN=SSN AND LNAME='SMITH')
以下是重新建立 :
Step 1
首先先建立初始的樣子。
專案名稱 : crystal test
- SQL語法輸入區
- 按鈕產生報表
Step 2
- 加入>新增項目>建立一個DataSet
- 工具箱拉一個TableAdapter
Step 3
產生如下圖
按下一步直到產生下一張圖
Step 4
請使用第一個選項,因為要建立的是所使用的SQL語法的Table
Step 5
把SQL語法輸入進去!!
可點圖查看!
Step 6
之後DataSet便會建立此SQL語法的Table。
Step 7
接著是建立Crystal report流程見圖。
這裡請選擇資料集內的Table,
即我剛剛在DataSet裡新增的Table
並且按 " > " 新增過去
接著按"完成"
Step 8
建好如圖所示。
Step 9
接著請把Table拉到"細目選項"。
Step 10
接著回到設計主頁,拉一個Crystal report Viewer到Form裡。
大致如此圖。
接著產生按鈕事件,並輸入如下程式碼
private void button1_Click(object sender, EventArgs e) { try { string ConnString; ConnString = "integrated security=SSPI;data source=Agau-PC;" + "persist security info=True;initial catalog=company"; string SelectCmd = textBox1.Text;//取得我輸入的SQL語法 SqlConnection conn = new SqlConnection(ConnString); conn.Open(); SqlDataAdapter da = new SqlDataAdapter(SelectCmd, conn); DataSet ds = new DataSet(); da.Fill(ds); DataTable dt = new DataTable(); dt = ds.Tables[0]; ReportDocument RD = new ReportDocument(); RD.Load(@"C:\CrystalReport1.rpt");//這裡是放你的CrystalReport1.rpt位置 RD.SetDataSource(dt); crystalReportViewer1.ReportSource = RD; conn.Close(); da.Dispose(); } catch (Exception ex) { MessageBox.Show(ex.Message, "例外訊息"); } }
之後執行程式在輸入區內輸入一開始的語法,並按下按鈕,即可產生。
您好 此篇圖示都不見了...可否更新圖檔?? thanks
回覆刪除