powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Передача параметров в процедуру SQL из клиента VFP
3 сообщений из 3, страница 1 из 1
Передача параметров в процедуру SQL из клиента VFP
    #32076266
Игoрь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мужики если подскажете как - буду премного благодарен.

Хочу сделать так:

на SQL- сервере существует таблица Spr_Lico (ID INT,KOD C(2),NAM C(100))
на SQL- сервере создается процедура,например

CREATE PROCEDURE sp_Test
@Spr_Nam varchar(20),@Field_Ret varchar(100),@TextWhere varchar(150)

AS
DECLARE @TextQuery VARCHAR(255)

SELECT @TextQuery =' SELECT '+@Field_Ret+' FROM '+@Spr_Nam+' WHERE '+@TextWhere

EXEC (@TextQuery)
GO

Если эту процедуру запустить из Query Analyzer c таким текстом:

DECLARE @P1 varchar(10),@P2 varchar(10),@P3 varchar(100)

set @P1='SPR_LICO'
set @P2='NAM'
set @P3='KOD="02"'

exec sp_test @P1,@P2,@P3

то она выполнется - т.е. ОДНИМ ПАРАМЕТРОМ мы передаем процедуре целое ВЫРАЖЕНИЕ

ПРОБЛЕМА: не могу собрать аналогичную строку для запуска процедуры на клиентской части приложения.
КОНКРЕТНО: не могу запихнуть в строковое выражение аналог параметра @P3:

= SQLEXEC (gnConnHandle,"{CALL &LcProcName &LcString}")
где LcProcName='sp_test' , а LcString - строка параметров
(тут еще возвращается параметр - но это не суть важно - и в процедуре эти детали не отображены)

в LcString надо указать аналог @P3,в котором должно присутствовать нечто 'KOD="02"' - т.е. надо запихнуть "строку в строку" - а на это VFP ужасно ругается.

Сейчас же эту проблему приходится решать написанием ОТДЕЛЬНЫХ ПРОЦЕДУР для каждого конкретного случая,где отдельно указывается параметр "KOD" и ОТДЕЛЬНО в виде параметра его значение (напр-р,'02').
А хотелось бы иметь нечто более универсальное.

Заранее премного благодарен если кто ответит.
...
Рейтинг: 0 / 0
Передача параметров в процедуру SQL из клиента VFP
    #32076270
sandy2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Примерно так:

Фрагмент VFP:
Код: plaintext
lh_err = sqlexec (lh_conn, " exec op1gn ?ukk, ?gc_dat " )

Фрагмент SP на T-SQL:

Код: plaintext
1.
2.
CREATE procedure dbo.op1gn
 @ukk int,
 @gc_dat char( 8 )
...
Рейтинг: 0 / 0
Передача параметров в процедуру SQL из клиента VFP
    #32076275
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
P1='SPR_LICO' 
P2='NAM' 
P3='KOD="02"' 
= SQLEXEC (gnConnHandle, "exec sp_test ?P1, ?P2, ?P3" ) 
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Передача параметров в процедуру SQL из клиента VFP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]