Symbol MC1000 SCAN_Enable

前段时间,做一个项目时使用了Symbol的MC1000数据采集器做终端采集程序.其间,使用Sqlce作为终端数据的保存.然而,做好后的程序可以在OEM Version :01.00.0007版本中运行正常,而在OEM Version :01.00.0011版本中却提示“SCAN_Enable”

位于:Symbol.Barcode.BarcodeMarshal.Enable()
位于:Symbol.Barcode.Actions.Enable()
位于:SymbolScanWood.SymbolScanWood.IniReader()
位于:SymbolScanWood.SymbolScanWood..ctor()

若将其间数据保存采用文本则无报错,并尝试了只声明一个sqlceConnection的对象,也报上述错误,故怀疑sqlceConnection和OEM Version :01.00.0011版本的某一地方出现冲突,故采用了Microsoft.CF.ApplicationBlocks.Data来进行Sqlce操作

在程序中将原来的代码段

 

cn  =  Logic.DataAcess.CreateConnection(); // 创建连接
cm  =  cn.CreateCommand();
cm.CommandText 
=   string .Format( " select * from ProLine where RunCard_No = '{0}' " , Barcode.Trim());
SqlCeDataReader dr 
=  cm.ExecuteReader();

替换为

 

SqlCeDataReader dr  =  HDSqlHelper.Instance(Logic.DataAcess.connectionStr).ExecuteReader(CommandType.Text,  string .Format( " select * from ProLine where RunCard_No = '{0}' " , Barcode.Trim()));

数据插入操作原代码

 

cn  =  Logic.DataAcess.CreateConnection(); // 创建连接
cm  =  cn.CreateCommand();
cm.CommandText 
=   string .Format( " insert into ProLine(RunCard_No,Station,InputQty,SystemTime) values('{0}','{1}','{2}','{3}') " , tbRunCard_No.Text.Trim(), tbStation.Text.Trim(), tbQty.Text.Trim(), _Date.Trim());
cm.ExecuteNonQuery();

替换为

HDSqlHelper.Instance(Logic.DataAcess.connectionStr).ExecuteNonQuery(CommandType.Text,  string .Format( " insert into ProLine(RunCard_No,Station,InputQty,SystemTime) values('{0}','{1}','{2}','{3}') " , tbRunCard_No.Text.Trim(), tbStation.Text.Trim(), tbQty.Text.Trim(), _Date.Trim()));

类似这样处理后,问题一般都可以解决,若还是出现Scan_Enable,调节程序的运行内存,尽量将滑块向左移。

以上方法,本人经过MC1000测试,有效解决了Scan_Enable问题

 

占华

http://www.cardprinterworld.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值