现在的位置: 首页 > 综合 > 正文

Symbol开发3—本身数据库操作

2012年09月06日 ⁄ 综合 ⁄ 共 2085字 ⁄ 字号 评论关闭

今天研究的是:
1. 把 MC1000 掃描到的條碼存儲到 MC1000 機器本身的數據庫中
2. 后又把該數據庫的數據轉成 TXT文件,並清空數據庫
3. 把MC1000 機器中的TXT文件傳輸到PC電腦中。
4. 細節如下:
1) Vs2003 按默認選項安裝完畢后,會生成一個DLL文件(System.Data.SqlServerCe.dll),默認路徑為C:\Program Files\Microsoft Visual Studio .NET 2003\Com pactFrameworkSDK\v1.0.5000\Windows CE\System.Data.SqlServerCe.dll。該文件的功能為:提供函數供 vs2003調用,來與 SQL CE文件型數據庫進行交互
2) SQL CE文件型數據庫的擴展名為 sdf
3) 操作sdf 數據庫中的表的 SQL 語句與操作 oracle 數據庫大同小異,比較容易上手,具體如下:
a) 創建數據庫:見附件1
b) 往數據庫中寫入記錄 見附件2
c) 刪除數據庫  System.IO.File.Delete("http://www.cnblogs.com/xus95/admin/file://my/ Documents\\db.sdf");
4) 將數據庫數據轉成文件的語句實際上就是普通的 vs2003 對文本文件操作的語句
5) 通過同步軟件將TXT文件傳輸到PC電腦中

後續方向:
1. 如何將 oracle 數據庫方便地轉入到 mc1000 的 sql ce數據庫中
2. 如何將 mc1000 打造成 “盤點機”

附件1:
try
   {
    iErrPos="51";

    if  (System.IO.File.Exists(sDbName))      
     return;

    iErrPos="52";
    System.Data.SqlServerCe.SqlCeEngine SQLengine = new System.Data.SqlServerCe.SqlCeEngine(sDsName);

    iErrPos="53";
    SQLengine.CreateDatabase();

    iErrPos="54";
    System.Data.SqlServerCe.SqlCeConnection cn = new System.Data.SqlServerCe.SqlCeConnection(sDsName);
    
    iErrPos="55";
    cn.Open();

    iErrPos="56";
    String sql = "create table ScanCode (barcode nchar(40) not null)";
     
    iErrPos="57";
    System.Data.SqlServerCe.SqlCeCommand cmd = new System.Data.SqlServerCe.SqlCeCommand(sql, cn);

    iErrPos="58";
    cmd.CommandType = CommandType.Text;

    iErrPos="59";
    cmd.ExecuteNonQuery();

    iErrPos="60";
    sql = "";   

    iErrPos="64";
    cmd.Dispose();

    iErrPos="65";
    cn.Close();

    iErrPos="1";
    cn.Dispose();
   }
   catch(Exception  ex)
   {
    MessageBox.Show( iErrPos+" : "+ ex.ToString());
   }
  }

附件2:
try
   {
    iErrPos="71";
    System.Data.SqlServerCe.SqlCeConnection cn = new System.Data.SqlServerCe.SqlCeConnection(sDsName);
    
    iErrPos="72";
    cn.Open();

    iErrPos="73";
    String sql = sSql;

    iErrPos="74";
    System.Data.SqlServerCe.SqlCeCommand cmd = new System.Data.SqlServerCe.SqlCeCommand(sql, cn);

    iErrPos="75";
    cmd.CommandType = CommandType.Text;

    iErrPos="76";
    cmd.ExecuteNonQuery();

    iErrPos="77";
    cn.Close();
   }
   catch(Exception ex1)
   {    
    MessageBox.Show(iErrPos+"  : "+ex1.ToString());
           
   }

本文内容是转载。

抱歉!评论已关闭.