Member 13600825 Ответов: 3

Как сделать продажу по существующему количеству и отклонить количество, если оно недоступно (SQL и VB)


Я создаю программу, которая вычитает запрошенное количество из базы данных, если оно доступно, и отклоняет его, если оно исчерпано. Проблема, с которой я сталкиваюсь, заключается в том, что сколько бы система ни вычитала из базы данных, она все равно принимает продажу даже при отрицательном количестве.
Я буду очень признателен за любую помощь, которая будет оказана мне в решении этой головоломки.

Что я уже пробовал:

Try
If txtquantity.text = Nothing then
Dim ct as string = "select stockavailable from stocks where barcode='" and stockavailable <=0"
ConnDB()
Cmd = New MysqlCommand(SQL, conn)
Dr=cmd.execute reader()

If Dr.read = true then
If e.keycode = keys.enter then
E.suppresskeypress= true
Addtolist()
Total cost+= total price
Lbltotalcost.text = Format(totalcost, "0.00")

Txtquantity. Clear()
Txtsearch.focus()
End if
End if
Else
Reset()
End if
Catch ex as exception
Messagebox.show(" requested quantity is not available!!! ", " input error" messageboxbuttons. OK, messageboxicon.error)
Finally
Cmd.dispose()
Conn.close()
End try

3 Ответов

Рейтинг:
1

OriginalGriff

Здесь есть много проблем, начните с того, что "ваш код не будет компилироваться", SQL не понравится, если он это сделает, перейдя к SQL-инъекции. If условие, которое никогда не будет истинным, поэтому код не будет выполнен, проблемы с многопользовательским доступом и полное игнорирование того, что возвращается из БД ...

Прекратите то, что вы делаете, и подумайте о том, чего вы пытаетесь достичь: вы не можете протестировать свой код, если он не компилируется, поэтому вы не видите никаких результатов от этого кода, Вы получаете результаты от предыдущей версии, которая действительно компилировалась.

Когда вы устраните очевидные проблемы и получите чистую компиляцию, вы можете использовать отладчик, чтобы начать показывать вам, какие еще проблемы у вас есть. Но в данный момент это выглядит так, как будто его собрали вместе после ночи на пиве ...


Рейтинг:
1

Patrice T

Цитата:
Проблема, с которой я сталкиваюсь, заключается в том, что сколько бы система ни вычитала из базы данных, она все равно принимает продажу даже при отрицательном количестве.

Нет, проблема в том, что этот код ничего не делает, потому что он не является правильным vb.
Dim ct as string = "select stockavailable from stocks where barcode='" and stockavailable <=0"

В vb котировки идут парами, здесь у вас есть 3 котировки.
Та же строка также забывает сказать какая именно barcode ты хочешь.
stockavailable <=0 означает, что вам нужны только записи с отрицательным результатом stockavailable.


Member 13600825

Я действительно согласен со всеми решениями, которые предлагают мои мозговые центры....
Проблема у меня в том, что я новичок, и ваша помощь в том, чтобы помочь мне архивировать это, будет очень ценной

Рейтинг:
0

Member 13600825

Первый код, который у меня был, был такой::

Если txtquantity. Текст = тогда ничего
Еще
Если e.keycode = ключи.Тогда войдите
Е. suppresskeypress = true в
Addtolist()
Общая стоимость+= общая цена

Lbltotalcost.text = format(totalcost, "0.00")
Txtquantity. Четкий()
Txtsearch.Сосредоточить()
Конец, если
Конец, если
Конец подлодки.

"Этот код работал очень хорошо, и, конечно, вычитание акций было нормальным. Только то, что система не смогла обнаружить, что количество больше не доступно. Вот тогда я и задал этот вопрос. Пожалуйста, не кричи на меня...просто помогай, где можешь. Спасибо на миллион.