Как использовать подзапрос SQL, используя параметр concat-ed (бэкэнд-операции находятся в классе)? - PullRequest
0 голосов
/ 29 декабря 2018

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

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

У меня есть 3 таблицы:

crateContTbl :

    [crateContTbl]  INT IDENTITY (1, 1) NOT NULL,
    [crateBC_FK]    VARCHAR (50) NULL,
    [invBC_FK]      VARCHAR (50) NULL,
    [crateQty]      INT          NULL,
    [crateLocation] VARCHAR (50) NULL,

crateTbl :

    [crateBC] VARCHAR (50) NOT NULL,

invTbl :

    [invBC]    VARCHAR (50) NOT NULL,
    [itemName] VARCHAR (50) NULL,
    [itemDesc] VARCHAR (50) NULL,
    [itemPic]  IMAGE        NULL,

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

Метод класса Backend возвращает таблицы данных, но метод с подзапросом ничего не возвращает.Это работает, если я задаю ему конкретное значение.

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

cmd.CommandText = "SELECT invTbl.invBC, invTbl.ItemName FROM invTbl WHERE invTbl.invBC = (SELECT crateContTbl.invBC_FK FROM crateContTbl WHERE crateContTbl.crateBC_FK = " + txtSearch + ")";

1 Ответ

0 голосов
/ 29 декабря 2018

Можете ли вы попробовать использовать оператор like в подзапросе, как показано ниже

cmd.CommandText = "SELECT invTbl.invBC, invTbl.ItemName FROM invTbl WHERE invTbl.invBC = (SELECT crateContTbl.invBC_FK FROM crateContTbl WHERE crateContTbl.crateBC_FK like '%'" + txtSearch + "'%')";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...