2013-12-17 2 views
-1

Я пытаюсь получить buyernumber из таблицы SQL. Похоже, что он не хочет вытаскивать информацию из таблицы.Можно ли это сделать в SQL?

Вот что у меня есть:

У меня есть переменная:

newItemNum = 7962525;

У меня есть таблица в моей базе данных sql, которая имеет 2 столбца, itemnumber и buyernumber.

Вот мой SQL заявление:

strSQL = "select BuyerNumber from %buyer%_%supplier%xref where Itemnumber LIKE 'newItemNum%';" 

ItemNumber в таблице: 7962525 Movie Set

Это происходит в таблицу и ничего не найти.

+0

Вы говорите, что на самом деле ItemNumber строка значение "7962525 Movie Set"? –

+0

Как называется таблица? – SWeko

+0

- это действительно Microsoft SQL Server или это MySQL. – logixologist

ответ

1

Изменить этот

strSQL = "select BuyerNumber from %buyer%_%supplier%xref where Itemnumber LIKE 'newItemNum%';" 

Для

strSQL = "select BuyerNumber from %buyer%_%supplier%xref where Itemnumber LIKE '"+newItemNum+"%';" 
2
LIKE 'newItemNum%' 

- буквальное совпадение. Вы должны параметризировать newItemNum

LIKE @newItemNum + '%' 

или если вы не хотите возиться с Params, сделайте следующее:

strSQL = "select BuyerNumber from %buyer%_%supplier%xref where Itemnumber LIKE '" + newItemNum + "%';" 

EDIT:

Если вы динамически приобретать имена таблиц использовать что-то вроде это:

var buyer="Costco"; 
var supplier="HomeDepot"; 
var newItemNum="123445656"; 

var strSQL = "select BuyerNumber from " +buyer+ "_" + supplier + "xref where Itemnumber LIKE '" + newItemNum + "%';" 
+0

Все еще получаю сообщение об ошибке. Это не позволит мне использовать эту строку кода. Я получаю ошибку «Замена% Переменная%, за которой не следует% (Использовать %% для%)» – MjM8082

+0

Это, вероятно, связано с тем странным именем таблицы, которое вы используете. Что такое имя таблицы? Он не может включать знаки% так, это должен быть buyer_supplier_xref (или некоторые другие варианты). Просто убедитесь, что используете правильное имя таблицы. – Dimitri

+0

Это правильное имя таблицы, когда я запускаю программу и проверяю, что strsql равно, я получаю Costco_HomeDepotxref для моего имени таблицы. – MjM8082

0

Ваш SQL строка должна использовать переменную. Заменить

strSQL = "select BuyerNumber from %buyer%_%supplier%xref where Itemnumber LIKE 'newItemNum%';" 

с

strSQL = "select BuyerNumber from %buyer%_%supplier%xref where Itemnumber LIKE @newItemNum + '%';" 
+0

Все еще получаю сообщение об ошибке. Это не позволит мне использовать эту строку кода. Я получаю сообщение об ошибке «Замена% Variable%, за которой не следует% (Использовать %% для%)» – MjM8082

+0

Попробуйте ответ Mind Hunter Photon, на самом деле он, вероятно, лучше. Если это не сработает, сообщите мне. –

Смежные вопросы