本人此前没有接触过手持终端机,应客户要求需要写盘点程序,经过两天摸索有点头绪,但也碰到一些问题,希望高手能指点一二。本人使用VS2005之VB及sdf数据库,现在能够把记录插到手持终端机的数据库中,
手持终端机为Symbol MC1000配置:
显 示 分 辨 率: 320×320
操作系统: Microsoft Windows CE4.2 Professional Version
应用程序开发: Symbol SDK
环 境: Microsoft Windows CE SDK
处 理 器: IntelXScale PXA270@312MHz
闪存内存/RAM(MB): 64/64问题如下:
    1,MC1000中的sdf数据库插入数据没问题,但select语句就出现内存不足并死机,其实该表只有3条记录;
    2,能否把电脑中的约两千条数据(只有两字段,条形码长度15,货号长度15)放到sdf 终端机的数据库中,让终端机扫描一个条形码,根据条形码读出货号,如何做?;
    3、如果2可行性能如何?
    4、能否使用VS 2005或Delphi能不能直接打开sdf,并使用Grid?
    (本人擅长Delphi数据库编程,如果能回答能有所启发万分感谢,分随便说。)

解决方案 »

  1.   

    第一,二点,已经解决,新的问题又来了
    VB2005+sdf写数据采集器程序,数据库放在MC1000的TEMP\,当VB2005调试的时候是正常能打开数据库,把程序拷贝到 MC1000上时,如果MC1000与电脑连接正常就能打开数据库,不连就打不开,数据库我检查过确实打开的是MC1000上的,这时候我断开连接依然可以正常操作数据库。数据采集器提示程序错误,我用微软的方法捕获错误类型,却是空白的。有谁能帮帮我
      

  2.   

    不知道你用什么控件连接的数据库,
    但很有可能会出现你说的问题:当VB2005调试的时候是正常能打开数据库,把程序拷贝到 MC1000上时,如果MC1000与电脑连接正常就能打开数据库,不连就打不开,
    这时候,你可能不能用控件连接了。
    而是要改到用代码控制
     string DatabasePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
                _conn = new SqlCeConnection("Data Source=" + DatabasePath + "\\ProductCategory.sdf;Password = efactory123");
    我用C#做的。这样代码里指定用户名和密码就OK了
      

  3.   

    写过其它采集器程序, Symbol MC1000 这款采集器,见过几次.没有搞过它的开发.我用过的其它的采集器,都没有数据库功能,一样的实现了这些问题.
    不知你的数据,是否需要实时地上传到服务器..如果不是实时,那么,你可以把所有需要的数据,导成定长(不定长的也可以,稍麻烦一点),排序好的文本文件,查询时,自己采用二分法查询,速度也是很快的.(即使每行遍历,对于文本文件来说,也是很快的).
    使用过程中,把扫描的数据,保存到另一个文本文件里.操作完毕后,把数据上传给服务器后,通过你的程序,把数据写入数据库中即可.如果实时,建议写一个后台程序,由后台程序负责与数据库打交道..
    采集器程序,通过SOCKET与后台程序通讯,索取,或是提交数据..我认为,类似于这样的程序,最好不直接由采集器与数据库打交道,不管你用哪种方式通讯(串口,或是无线网络),都是很容易出错了.比如,连接出错,通讯出错等等..
    完全可以写一个中间层的服务程序, 由它与数据库打交道(可以加入数据验证,具体业务等), 并且,也由它与采集器打交道(比如设置采集器的一些参数,并且还可以加入数据通讯处理,数据校验,等等).
    这样,采集器,就不需要直接与数据库打交道,采集器端也不需要数据库了(因为采集器不可能有太复杂的操作流程及大批量的数据处理).整个系统也会更安全,更稳定..
      

  4.   


    不是实时的,其实我现在的问题是,终端机跟电脑连着的情况下,随便怎么都正常,断开了就运行出错,出错在open()数据库,错误类型是空的,如果连着电脑的情况下启动,断开后使用都正常.
      

  5.   

    哦,楼主咱们可以讨论一下哈,我们公司用的是CASIO的手持设备
      

  6.   

    shuihan20e Casio 的机器,搞过开发的。主要是DT900,DT300 的。
    好像有一款IT500的机器吧,WinCE系统的。不过没怎么搞过开发。。Casio的机器,日本原厂生产的手感好一些,国内生产的就差一些了。。国有品牌,新大陆的机器,很不错的,价格低多了。
      

  7.   


    几个问题倒是解决了,但不知道为什么,可能是VS2005与wince 4.2的支持问题,后来我使用VS2003+CF 1.1后就没有问题,由于MC1000的机器没有带网卡,没办法做同步,所以我现在是通过电脑导出数据到txt文件,然后拷贝到机器里面,由VS2003写的程序导入到sdf (用了sql ce 2.0,3.0好像有问题)的数据库,就一切正常。
      

  8.   


    第一次搞这东西,摸索了好几天,网上的资料又少,据说Symbol最好,所以买了它,不过这款是Symbol系列里面最低端的了,是Win ce 4.2
      

  9.   

    我们是一个后台程序,由后台程序负责与数据库打交道.. 
    采集器程序,通过SOCKET与后台程序通讯后台是DELPHI做的,采集器是VS2005
      

  10.   

    各位大吓:搞得这么麻烦!!!以后就用艾码森的采集器撒!机器性价比绝对超值!!!艾码森(AIMASEN)数据采集器(盘点机)的程序免费为您开发,消除您的一切烦恼!!!在手持终端机市场上艾码森优势明显,大家可以试试!厂家服务:QQ:915028304,TEL:13883800477!!!!
      

  11.   

    搞得这么麻烦!!!以后就用艾码森的采集器撒!机器性价比绝对超值!!!艾码森(AIMASEN)数据采集器(盘点机)的程序免费为您开发,消除了一切烦恼!!!在手持终端机市场上艾码森优势明显,大家可以试试!QQ:915028304,TEL:13883800477!!!!