水晶報表設計(三) PUSH模式(二)

2021-05-18 02:21:14 字數 988 閱讀 6655

首先解釋乙個pull模式和push模式的區別:

1、pull模式:與資料庫緊耦合模式。也就是說,當資料庫位置發生變化的時候,水晶報表就找不到它的資料來源了。原因:在給水晶報表建立資料庫連線的時候,連線串是存放在水晶報表裡面的。比如是127.0.0.1。當資料庫位置發生變化的時候,比如變成了127.0.0.2,那麼當水晶報表尋找資料來源的時候,它仍然會去找第乙個ip位址而不是第二個ip位址。這樣水晶報表就找不到真正要顯示的資料了。

2、push模式:與資料庫松耦合模式。在這個模式下,我們借助了「中介軟體」資料集。資料集負責進行資料庫的連線,而水晶報表則是從資料集中提取資料。也就是資料庫-->資料集(.xsd)-->水晶報表。需要注意:資料庫連線串是放在資料集裡面的。這樣,我們寫乙個新的資料庫連線來取代資料集的資料庫連線,並將執行完後的儲存過程返回dataset(datatable),然後將它賦值給水晶報表。注意紅色字部分,這個部分起的就是資料庫-->資料集(.xsd)作用。

下面說一下另外一種push模式。模式依然是資料庫-->資料集(.xsd)-->水晶報表。只不過在資料集中不再使用tableadapter,而是datatable。

將datatable拖放到介面上,在上面右鍵【新增】--【列】,加入我們想要顯示的資料列。

t1然後在後台用**控制就可以了。

sqlcommand cmd2 = new sqlcommand("tc_rpt_select_zhuangyunqixian", conn);

cmd2.commandtype = commandtype.storedprocedure;

cmd2.parameters.add("@value", sqldbtype.varchar, 200).value = value;

sqldataadapter da = new sqldataadapter();

da.selectcommand = cmd2;

da.fill(ds, "zyqx");

同樣我們要注意的是:fill()中的表名需要和資料集中的表名一樣。

水晶報表的PUSH模式

水晶報表一般分為pull模式以及push模式。pull模式是指使用控制項連線資料,push模式是指使用 的方式。由於進行編碼練習,所以也就沒有進行pull的嘗試。以下是乙個最簡單的水晶報表的push模式。1.rpt 報表模版 2.資料表結構 3.form樣式 控制項型別 crystalreportv...

水晶報表的Push模式及多表製作

裝載水晶報表的webfrom.aspx中新增如下 解決彈出應用dataset彈出登陸介面的問題。protected void page load object sender,eventargs e 中的引數可以不用賦值,即使賦了值也不起作用。crystalreportsource1.reportdo...

水晶報表內功心法 PUSH模式樣板招式

前篇講解了pull模式下的操作方法,比較簡單。本文進一步詳細講解一下push模式下的樣板操作。仍以web為例 新建乙個 asp.net crystalreports的 彈出下面這個介面後,選第2項 作為空白報表,然後點確認,進入乙個空白介面。新建乙個資料集合 出現此提示時,點 是 然後還會出來連線資...