Я помогал другу с сайта, над которым он работал. Он занимался обслуживанием веб-сайта ColdFusion. Он в основном является веб-дизайнером, а мой фон - asp.net.Попытка получить идентификатор из SQL с ColdFusion
Проблема, с которой я сталкиваюсь, заключается в том, что они хотят иметь возможность добавлять товар в корзину. Чтобы быстро выполнить это, я собирался использовать существующее действие «добавить в корзину». Проблема заключается в том, что сайт обычно использует скрытое поле с именем productId
, но быстрый ввод использует ModelID.
Мой план состоял в том, чтобы получить productID
с конца SQL, но каждый раз, когда я пытаюсь это сделать, вы получаете ошибку SQL. Странно то, что независимо от введенного номера модели сообщение об ошибке показывает другое число. Вот код
Быстрый вход HTML:
<form action="index.cfm?do=action" method="POST" NAME="quick">
<b>Model Number:</b>
<input type="Text" name="QuickEntryModelNumber" value="" size="8">
<b>Quantity:</b>
<input type="Text" name="Quantity" value="" size="2" maxlength="3"><br>
<input type="hidden" name="wasWholesaler" value="#session.wholesaler#">
<p align="right"><input type="Submit" name="action" value="Add to basket"></p>
</form>
Добавить в корзине действия:
<cfif structkeyexists(form,'ProductID')>
<cfparam name="inProductID" type="integer" default = 0>
<cfset inProductID = #form.ProductID#>
<cfelse>
<cfparam name="inProductID" type="integer" default = 0>
<cfquery name="GetID" datasource="#attributes.dsn#">
SELECT P.ProductID
FROM Products P
WHERE P.ModelNumber = #form.QuickEntryModelNumber#
</cfquery>
<cfoutput query="GetID">
<cfset inProductID = #P.ProductID#>
</cfoutput>
</cfif>
В основном я проверял, чтобы увидеть, если ProductID
существует в данной форме. Если не извлекать ProductId
из БД. Ошибка он бросает это:
[Macromedia][SQLServer JDBC Driver][SQLServer]Conversion failed when converting the varchar value '088254PC' to data type int.
Независимо от того, что вы вводите для модели ID, значение VARCHAR всегда '088254PC. Когда я беру запрос SQL и устанавливаю productId
на статическое значение, он функционирует должным образом.
Я думаю, это было бы подходящее время, чтобы указать, что эта страница беспорядок. В разное время его затронули более 20 разных людей. Его нужно выбросить и начать с нуля. И у меня нет макета БД. Вздох. Любая помощь, которую вы, ребята, можете бросить мне, будет очень благодарна. ColdFusion - это не мое дело.
Большое спасибо человеку. У меня на самом деле были котировки вокруг него в один момент времени, но SQL-запрос был неправильным. Но с вами совет я смог ограничить его запросом SQL и исправить его. Благодаря тонну. – bigcrav