Отображение изображения из базы данных в picturebox
Я сделал сканер qr-кода, и когда он успешно обнаружит qr-код, он покажет QR-код в txtDecode.text(текстовое поле), а затем покажет данные из базы данных. Я хочу, чтобы мое изображение было включено при обнаружении qr-кода
Что я уже пробовал:
sqlCon.Открыть();
Строка sqlSelectQuery = "SELECT * FROM SMStocksTb WHERE SmStockCode =" + int.Parse(txtDecode.Текст);
SqlCommand cmd = new SqlCommand(sqlSelectQuery, sqlCon);
SqlDataReader dr = cmd.Метода executereader();
если (dr.Read())
{
lblID.Text = (dr["SmStockId"].Метод toString());
lblCode.Text = (dr["SmStockCode"].Метод toString());
lblName.Text = (dr["SmStockName"].Метод toString());
lblQty.Text = (dr["SmStockQty"].Метод toString());
lblSize.Text = (dr["SmStockSize"].Метод toString());
lblLength.Text = (dr["SmStockLength"].Метод toString());
}
sqlCon.Закрывать();
Richard MacCutchan
В чем же проблема?
Richard Deeming
String sqlSelectQuery = "SELECT * FROM SMStocksTb WHERE SmStockCode = " + int.Parse(txtDecode.Text);
Не делай этого так.
В этот конкретный экземпляр, поскольку параметр анализируется как целое число, вы в безопасности. Но написание такого кода может привести и приведет к уязвимостям SQL-инъекций. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]
string sqlSelectQuery = "SELECT * FROM SMStocksTb WHERE SmStockCode = @SmStockCode"; using (SqlCommand cmd = new SqlCommand(sqlSelectQuery, sqlCon)) { cmd.Parameters.AddWithValue("@SmStockCode", int.Parse(txtDecode.Text)); using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.Read()) { ... } } }
NB:
int.Parse
вызовет исключение, если пользователь не ввел целое число. Вы, вероятно, хотите использовать инт.Метод tryparse[^] вместо этого, что позволит вам сообщить пользователю о проблеме, если текст не является допустимым целым числом.
Member 13894029
Я изменю его прямо сейчас, спасибо @Richard Deeming за подсказку.