C#調用Bartender打印綁定數據庫,動態設置Sql


功能背景,我們在使用C#調用Bartender模板打印標簽的時候,有兩種方式。

方式一:在代碼內手動設置好字段值,然后調用打印方法即可。

btFormat.SubStrings["交貨單號"].Value = dtSNinfo.Rows[i]["交貨單號"].ToString();

btFormat.SubStrings["客戶PN"].Value = dtSNinfo.Rows[i]["客戶PN"].ToString();

btFormat.SubStrings["客戶PO"].Value = dtSNinfo.Rows[i]["客戶PO"].ToString();

此方法簡單快捷,不需要連接數據庫,只需要編輯好模板即可。但是對於標簽上字段數量比較多的情況下,打印比較緩慢,同時,真的標簽頻繁變更的情況,可維護性也比較差。另外一個問題是,此方法只適用於打印標簽數量較少,頻率較低的情況,因為如果電腦性能比較差,可能出現兩張標簽連續出標間隔時間過長的現象。

方式二:標簽綁定數據庫,C#只需要操作數據庫,打印的時候即可打印數據庫指定的所有的數據。

此方法優點是可維護性比較好,只需要設置好數據庫里面的數據,針對標簽頻繁變更的情況,無需修改C#代碼也能實現打印,同時打印的速度非常快。

缺點是需要連接數據庫的配置比較麻煩,如果是使用Oracle,或者其他的一下少見的數據庫,可能支持行不好。

我們在使用方法二打印的時候,前期是每次打印完成后都清空數據庫的數據行,保證每次只打印需要的數據,后續面臨一個問題,就是多個用戶需要公用數據庫的表,來實現並發打印的功能,如果每次都刪除數據,可能造成刪除錯誤的情況,針對此情況,可以在C#調用打印的時候動態的設定對應的Sql,篩選出需要的數據。

可以在打印前調用下面的代碼指定Sql來實現只打印需要的數據

btFormat.DatabaseConnection[0].SQLStatement=sql


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM