Intermec 700 開發體驗(2)

来源:互联网 发布:sql replace批量 编辑:程序博客网 时间:2024/04/29 22:45

今天處理的是:(該處理方法與 mc1000的處理方法一致)


1. 把 Intermec700 掃描到的條碼存儲到 Intermec700 機器本身的數據庫中
2. 后又把該數據庫的數據轉成 TXT文件,並清空數據庫
3. 把Intermec700 機器中的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("數據庫所在路徑");
4) 將數據庫數據轉成文件的語句實際上就是普通的 vs2003 對文本文件操作的語句
5) 通過同步軟件將TXT文件傳輸到PC電腦中

附件1:
//创建本地数据库/表
  private void Create_Db(string sDbName,string sDsName)
  {
   try
   {
    //System.IO.File.Delete("//My Documents//db.sdf");
    iErrPos="51";

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

    //System.Data.SqlServerCe.SqlCeEngine SQLengine = new System.Data.SqlServerCe.SqlCeEngine("data source=//My Documents//db.sdf");

    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("Data Source=//My Documents//db.sdf");
    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:
//写入数据到本地数据库的表中,需引用 system.data;system.data.sqlserverce dll
  private void InsertDb(string sDbName,string sDsName,string sSql)
  {
   try
   {
    iErrPos="71";
    //System.Data.SqlServerCe.SqlCeConnection cn = new System.Data.SqlServerCe.SqlCeConnection("Data Source=//My Documents//db.sdf");
    System.Data.SqlServerCe.SqlCeConnection cn = new System.Data.SqlServerCe.SqlCeConnection(sDsName);
    
    iErrPos="72";
    cn.Open();

    iErrPos="73";
    //String sql = "insert into userinfo (userid,username,userpass) values (3,'" + this.txtName.Text + "','" + this.txtPwd.Text + "')";
    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();
    //MessageBox.Show("data inserted");

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

原创粉丝点击