您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

C#调用Bartender打印绑定数据库,动态设置Sql

bubuko 2022/1/25 18:58:09 dotnet 字数 1405 阅读 1029 来源 http://www.bubuko.com/infolist-5-1.html

功能背景,我们在使用C#调用Bartender模板打印标签的时候,有两种方式。 方式一:在代码内手动设置好字段值,然后调用打印方法即可。 btFormat.SubStrings["交货单号"].Value = dtSNinfo.Rows[i]["交货单号"].ToString(); btFormat ...

功能背景,我们在使用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

C#调用Bartender打印绑定数据库,动态设置Sql

原文:https://www.cnblogs.com/ckym/p/15128034.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶