iT邦幫忙

0

Crystal Reports 是否能夠 不用XSD

您好:
因近期自學 C# .NET +Crystal Reports,上網找片段教學來學習,
不過找到的都是 需要建立XSD 來做

也有找過該如何不須XSD的範例,使用OLE DB(ADO)但卻會跳出 輸入DB帳密視窗
看過網路上 其他解法, 用【啟用資料庫登入提示】 取消勾選,沒效
需要再寫一段 LogOnInfo 的方式才有效
但這 較麻煩,且帳密要寫在此

所以想請問 有經驗的高手,可否指導一下,是否有範例,可以 直接在cs下語法,不透過xsd,直接餵資料給 水晶報表
謝謝。

看更多先前的討論...收起先前的討論...
註冊單 iT邦新手 4 級 ‧ 2019-02-25 10:02:00 檢舉
建議你買最新版本年份的書籍
可能元件已經不支援或下架了
player iT邦大師 1 級 ‧ 2019-02-25 15:18:32 檢舉
Download SAP Crystal Reports, developer version for Microsoft Visual Studio
https://www.crystalreports.com/crystal-reports-visual-studio/
noway iT邦新手 5 級 ‧ 2019-02-26 19:37:38 檢舉
您好,我用 VS2013 和 crystalreport13 來做。
現在練習,應該沒錢買。
所以還是請教,是否 有高手 不需要透過XSD來做的
謝謝!
noway iT邦新手 5 級 ‧ 2019-03-17 12:58:01 檢舉
請問,是否有 前輩可以協助解惑呢?
還是哪邊有 水晶報表 +NET 的教學 及 論壇可以提供呢?
麻煩了
謝謝!

2 個回答

0
souda
iT邦研究生 4 級 ‧ 2019-02-26 08:07:51

可以押~~看你喜歡用哪種方式?

noway iT邦新手 5 級 ‧ 2019-02-26 19:38:07 檢舉

您好:請問您有相關範例嗎?
不好找,麻煩了,謝謝!

souda iT邦研究生 4 級 ‧ 2019-02-27 08:47:11 檢舉

你可以直接在CR中套用xml測試!程式部分就要去看SDK.
https://archive.sap.com/documents/docs/DOC-35632

noway iT邦新手 5 級 ‧ 2019-02-28 10:10:37 檢舉

您好:
謝謝,但連結都無效...

0
allenlwh
iT邦研究生 4 級 ‧ 2019-03-01 13:52:12

以下是我多年以前寫的(VS2008),給您參考看看。

MyReport = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
SqlConnectionStringBuilder CryRptConn = new SqlConnectionStringBuilder(ConfigurationManager.AppSettings["RptConnStr"].ToString());
MyReport.Load(Server.MapPath("~/rpt/") + "DailaySalesReportTotal.rpt");

MyReport.Refresh();
MyReport.SetDatabaseLogon(CryRptConn.UserID, CryRptConn.Password, CryRptConn.DataSource, CryRptConn.InitialCatalog);
MyReport.SetParameterValue("bDate", TextBox1.Text);
MyReport.SetParameterValue("eDate", TextBox2.Text);

CryRptConn.Clear();
this.CrystalReportViewer1.ReportSource = MyReport;
CrystalReportViewer1.SelectionFormula = "{Daily.DATE} >='" + TextBox1.Text + "' AND {Daily.DATE} <='" + TextBox2.Text + "'";
<web.config>
    
<appSettings>
     <add key="CrystalImageCleaner-AutoStart" value="true" />
     <add key="CrystalImageCleaner-Sleep" value="60000" />
     <add key="CrystalImageCleaner-Age" value="120000" />
     <add key="RptConnStr" value="Data Source=xx.xx.xx.xx;Initial Catalog=abc; User Id=test;Password=test;" />
 </appSettings>
看更多先前的回應...收起先前的回應...
noway iT邦新手 5 級 ‧ 2019-03-02 16:14:45 檢舉

您好:我參考您的範例實作,但仍出現 資料庫 登入失敗。

我先說明我之前看範例:
1.新增一個 RC01X.rpt
資料庫專家->OLE DB(ADO)連線,用拖拉的方式 加入TABLE
(Q,這邊可以 下SQL 嗎?)

並拖拉 欄位到報表

2.新增一個WEB
拉入CrystalReportSource 與 CrystalReportViewer 並設定
`
<asp:TextBox ID="text01" runat="server"></asp:TextBox>
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" EnableDatabaseLogonPrompt="False" ReportSourceID="CrystalReportSource1" ToolPanelView="None" />

    <CR:CrystalReportSource ID="CrystalReportSource1" runat="server">
        <Report FileName="Reports\RC01\RC01X.rpt">
        </Report>
   </CR:CrystalReportSource>

`

3.aspx.cs 程式碼如下

  ReportDocument rpt = new ReportDocument();
       
        SqlConnectionStringBuilder CryRptConn 
            = new SqlConnectionStringBuilder(ConfigurationManager.AppSettings["RptConnStr"].ToString());

        string reportName = "/Reports/RC01/RC01X.rpt";
        rpt.Load(Server.MapPath(reportName));


        //rpt.Refresh();
        rpt.SetDatabaseLogon(CryRptConn.UserID , CryRptConn.Password , CryRptConn.DataSource, CryRptConn.InitialCatalog);

        this.text01.Text = CryRptConn.UserID;

        CryRptConn.Clear();

        CrystalReportViewer1.ReportSource = rpt;
        CrystalReportViewer1.RefreshReport();

另外請教 RC01X.rpt ,要以哪一種方式,先來拉出欄位?
謝謝!

allenlwh iT邦研究生 4 級 ‧ 2019-03-03 08:49:35 檢舉

noway 要跟您說聲sorry,這張報表已是5.6年前所寫,現已無環境可以重製這張報表

noway iT邦新手 5 級 ‧ 2019-03-03 09:49:05 檢舉

沒關係,想請教, 您當時的步驟,還有印像嗎 ?
謝謝!

allenlwh iT邦研究生 4 級 ‧ 2019-03-05 08:29:50 檢舉

抱歉,沒有印象了

noway iT邦新手 5 級 ‧ 2019-03-06 21:14:48 檢舉

沒關係,謝謝!
期待有其他高手可以 幫忙解惑一下!

我要發表回答

立即登入回答