Я использую компонент CheckListEdit
в Delphi, который позволяет одновременно выбрать более одного элемента. Когда вы извлекаете с помощью CheckListEdit1.Text, я получаю выбранные элементы в формате String, например [item1, item2, item3]
, который я урезал дальше, чтобы отбросить первый и последний символы, чтобы получить окончательную строку как «item1, item2, item3».Как создать SQL-запрос с элементами item1, item2, item3 в Delphi?
Мой код выглядит следующим образом
glist := CheckListEdit1.Text;
glistindex := Length(glist);
Delete(glist,glistindex,1);
Delete(glist,1,1);
// Здесь я получаю GList = 'item1, item2, item3 ..' и т.п ..
Теперь я хочу, чтобы выбрать из данных из таблицы, где группа, как item1, item2, item3 и т.д ..
Мой SQL запросов выглядит следующим образом
UniTable1.SQL.Text := Select * from emp where group like (:grp);
UniTable1.Params.ParamByName('grp').Value := glist;
Но выше SQL возвращает ошибку, поскольку «как item1, item2, item3» не является надлежащим форматом, есть ли какой-либо альтернативный способ создания SQL-запроса, чтобы он возвращал данные из выбранной группы в CheckListEdit?
Это, к сожалению, один случаев, когда вы должны построить свой запрос без использования параметров ... – whosrdaddy
Оператор Like не поддерживает несколько аргументов. Я не думаю, что оператор «В» подойдет вашим потребностям? –
Здесь [в один конец] (http://stackoverflow.com/a/5401777/800214), чтобы решить эту проблему: – whosrdaddy