:: Visual Foxpro, Foxpro for DOS
Передача массива в sql запрос
Argon
Автор

Сообщений: 251
Дата регистрации: 06.02.2012
Доброго времени суток!

Давайте сразу к сути вопроса:

есть курсор в фоксе, например структура у него temp(sn c(20), dt d(8))
забираю из него уникальные данные
select distinct(sn) from temp into array snArr
массив получаю, все хорошо
затем хочу получить информацию с сервера по уникальным данным в массиве
sqlexec(m.lnConnect, "select * from таблица where sn in (?snArr)", 'tResult')

выполняется, и даже без ошибок, НО только 1 строка, т.е. первая запись из массива.
Подскажите что я делаю не правильно?



Исправлено 1 раз(а). Последнее : Argon, 19.02.18 15:45
Ratings: 0 negative/0 positive
Re: Передача массива в sql запрос
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
1. Не указан сервер.
2. На каком сервере видел массивы?


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Передача массива в sql запрос
Argon
Автор

Сообщений: 251
Дата регистрации: 06.02.2012
Пардоньте
сервер sql
хочу передать параметры списком, например
sqlexec(m.lnConnect, "select * from таблица where sn in ('as', 'sd', 'df', 'fg' и т.д.)", 'tResult')
Ratings: 0 negative/0 positive
Re: Передача массива в sql запрос
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
Argon
Пардоньте
сервер sql
Ппц... Все производители SQL серверов на самом деле ведь делают один единственный sql сервер...
Цитата:
хочу передать параметры списком, например
sqlexec(m.lnConnect, "select * from таблица where sn in ('as', 'sd', 'df', 'fg' и т.д.)", 'tResult')
Что вы хотите мы поняли. Мы не поняли почему утаиваете хотя бы производителя сервер и почему решили, что в sql серверах есть массивы? И на каком основании решили, что что-то будет ваше (?snArr) разворачивать в ('as', 'sd', 'df', 'fg' и т.д.)?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Передача массива в sql запрос
Argon
Автор

Сообщений: 251
Дата регистрации: 06.02.2012
ssa
Что вы хотите мы поняли.
как развернуть мой массив в строку и передать как параметр sql запроса?
Ratings: 0 negative/0 positive
Re: Передача массива в sql запрос
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
Argon
ssa
Что вы хотите мы поняли.
как развернуть мой массив в строку
Любым удобным для вас способом.
Цитата:
и передать как параметр sql запроса?
Точно так же, как любую другую строку. При передаче строки не анализируется способ получения этой строки.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Передача массива в sql запрос
PaulWist

Сообщений: 14625
Дата регистрации: 01.04.2004
Либо:

1. Создать на сервере временную табличку или таблевар, из клиента в неё запихнуть список ID.

2. На клиенте сформировать либо строку типа "(1,2,3,4,...)" её "склеить" с запросом, либо на клиенте сформировать XML строку и её "склеить" с запросом.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Передача массива в sql запрос
Argon
Автор

Сообщений: 251
Дата регистрации: 06.02.2012
Спасибо, реализовал функционалом sql
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 29 (Гостей: 29)

© 2000-2024 Fox Club 
Яндекс.Метрика