條碼掃描器銷售商品 執行個體說明 如今,許多超市都利用條碼銷售商品。微機操作員利用掃描器在商品的條碼處進行掃描,商品的詳細資料就會顯示在螢幕中。本例實現了利用條碼銷售商品的功能。效果如圖13.19所示。 技術要點 當利用掃描器掃描條碼時,條碼資料會顯示在當前獲得焦點的視窗控制項中。例如,如果當前編輯框獲得焦點,那麼條碼資料會顯示在TextBox文字框中。然後會向TextBox文字框發送斷行符號鍵按下時的訊息。 在程式中只要觸發TextBox文字框的KeyDown事件,判斷當前按鍵是否是斷行符號鍵,如果是,讀取TextBox文字框中的條碼資料,並從資料表中根據條碼查詢商品資訊,將其顯示在DataGridView列表中。 實現過程 (1)建立一個項目,命名為Ex13_18,預設表單為Form1。 (2)在Form1表單中,主要添加TextBox控制項,用於接收條碼;添加一個DataGridView控制項,用於顯示掃描器掃描條碼的商品銷售資訊。 (3)主要程式碼。 private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == 13) { OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "price.mdb" + ";Persist Security Info=False"); OleDbDataAdapter dap = new OleDbDataAdapter("select * from MerchandiseInfo where barcode='" + textBox1.Text + "'", con); DataSet ds = new DataSet(); dap.Fill(ds); if (ds.Tables[0].Rows.Count == 0) { MessageBox.Show("該商品不存在。", "系統提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } for (int i = 0; i < dataGridView1.RowCount; i++) { if (Convert.ToString(dataGridView1[0, i].Value) == "") { dataGridView1[0, i].Value = ds.Tables[0].Rows[0][0].ToString(); dataGridView1[1, i].Value = ds.Tables[0].Rows[0][1].ToString(); dataGridView1[2, i].Value = ds.Tables[0].Rows[0][2].ToString(); dataGridView1[3, i].Value = ds.Tables[0].Rows[0][3].ToString(); return; } } } }