今天研究的是:
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());
}