我有一个条形码扫描应用程序,它在文本框的文本更改事件上运行。它验证条形码是否先前被扫描到访问数据库中并相应地验证用户。
我有一个问题,在文本框中看到的数字只是条形码读取的一个数字(第一个数字)。
这个问题是因为文本更改属性被立即验证了吗?
代码如下
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox1.SelectAll();
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\dell\Documents\Database5.accdb;Jet OLEDB:Database Password=sudeep;");
con.Open();
try
{
// con.Open();
OleDbCommand cmd = new OleDbCommand("insert into barcode(id,dtime) values('" + textBox1.Text + "','"+label3.Text+"')",con);
cmd.ExecuteNonQuery();
label2.Text = "User Authenticated";
label2.ForeColor = Color.Green;
//MessageBox.Show("User Authenticated");
}
catch(Exception)
{
label2.Text = "User Already registered";
label2.ForeColor = Color.Red;
// MessageBox.Show(x.ToString());
}
请帮忙。
我认为问题在于文本框不扫描条形码的字符串,因为由于文本更改事件属性,只有一个字符被扫描并存储在数据库中。有没有办法从条形码中扫描字符串?