OriginalGriff
Единственная проблема, которая у вас есть, - это идентификация, когда пользователь ввел "весь код" и доволен, что он правильный-вот почему у вас есть ключ ввода!
Ввод - это способ, которым пользователь говорит: "все это есть, и все правильно-поместите это в БД"; любой автоматический способ будет зависеть от времени (пользователь ничего не вводил в течение нескольких секунд, скажем) или количества введенных цифр, и оба они подвержены ошибкам:
1) хронометраж-это проблема, если пользователь проходит половину пути и не может легко прочитать следующую цифру или его прерывают. Полагаться на него-хороший способ получить плохие данные в вашу БД, а также замедлить весь процесс ввода.
2) подсчет цифр - это проблема, если пользователь ошибается: случайно ударяет по двум клавишам одновременно или вводит неверную цифру-если вы не дадите пользователю шанс исправить ошибку, целостность вашей БД очень быстро станет подозрительной.
3) количество цифр также создает проблемы, когда вы смотрите на данные штрих - кодов "реального мира" - существует множество различных типов штрих-кодов, и они не все имеют одинаковую длину данных!
Честно говоря, полагаясь на пользовательский ввод данных штрих-кода, я в первую очередь разрушаю саму идею использования штрих-кодов: я бы использовал сканер и настроил его так, чтобы он обеспечивал последовательности "ввод" и "вывод", чтобы полностью устранить ошибки ввода и обеспечить положительное обнаружение данных штрих-кода.