powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Передача параметра в SQL-сервер
36 сообщений из 36, показаны все 2 страниц
Передача параметра в SQL-сервер
    #32247815
grival
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При выполнении простого запроса к серверу:

declare @kspM smallint
set @kspM = 50
exec sp_tabel_zaneseni @kspM


не возвращается ни одной строки. Если запускать с явным параметром и без второй строки - записи возвращаются:

declare @kspM smallint
-- set @kspM = 50
exec sp_tabel_zaneseni 50


??? Что это может быть? Процедура - обычная выборка по условию.
Подскажите что можно сделать. Заранее благодарен.
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247833
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут два варианта:
1) Код в студию
2) Тыркнись в главный форум, но там тож код захочуть!
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247836
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое главное - откуда сие запускается?
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247837
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а может все таки так

declare @kspM smallint
select @kspM = 50
exec sp_tabel_zaneseni @kspM
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247843
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 sasha_1:

Либо я дурак, либо одно из двух.
select @kspM = 50 - это чего?
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247845
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как чего, присвоение значения переменной.
(правда это из SQL Server 7)
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247846
grival
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С select-ом то же самое творится.
Запускается из Access-97.
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247854
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ндя, а чем set плох?
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247865
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запускается из Access-97.
Э-эх, опять используется кастрированная/промежуточная платформа.
В этом случае нужно или генерить строку с подстановкой параметра
или использовать Query.Parameters (точно не помню, потому как не использую)
Это в форуме уже обсуждалось.
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247871
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Запускается из Access-97.
т.е. как из Ас. Я думал это скуль сервер.
в Ас вроде всю жизнь Dim использовался.
dim kspM as integer
kspM = 50
exec sp_tabel_zaneseni kspM
так наверное
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247884
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:)
:)
:)
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247885
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точнее так
dim kspM as integer
kspM = 50
exec sp_tabel_zaneseni str(kspM)
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247894
grival
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запрос к SQL-серверу. Dim и т.д. не проходит!
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247901
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уже понял :)
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247912
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
declare @strPath1 varchar(100)
set @strPath1 ='\\Dapfiles\D\Projects\Dap\Test\DATA\supersol.txt'
exec dbo.spCallDataLoad @strPath1


у меня это в А97 распрекрасно работало

проверь тип передаваемого параметра
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247922
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точно, точно
попробуй
declare @kspM varchar(10)
set @kspM = "50"
exec sp_tabel_zaneseni @kspM
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247944
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
declare @idst int
set @idst= 600 
exec msp_getstation @idst

У меня тоже отработало(Асс2002),так что присоединяюсь к Татьяне.
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32247952
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На том и порешим - у автора топика случилось локальное возмущение Силы.
Пока к нему не прибежит джидай с синим мечом - запускать запрос можно даже не пытаться.
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248002
grival
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал на Access-2k - то же самое.

Татьяне: не проходит твой метод, после приведения в соответствие типов данных - тот же результат.

(c)VIG: не пойму чем твой запрос отличается от моего исходного?

Лоху Позорному: какое-то возмущение вероятно случилось, но хочется узнать в каком месте. Ты бы помог.
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248063
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 grival
Я уже говорил пути решения.
дополнительный вопрос.
Покажи код, с помощью которого запускается запрос.
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248151
grival
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запрос запускаю из A97, строка подключения ODBC:
ODBC;DRIVER=SQL Server;SERVER=SUN;UID=administrator;Trusted_Connection=Yes
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248402
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты откуда запрос запускаешь?
ЕСЛИ запускаешь из окна базы данных , запрос отрабатывает?
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248455
grival
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ни из окна базы данных, ни из формы не запускается. Выдает ошибку: Запрос к серверу, свойство "Возврат записей" (ReturnsRecords) которого имеет значение "Истина", не вернул ни одной записи.
Такое впечатление, что передается параметр с неопределенным типом данных, потому что если выполнить запрос с явным указанием несуществующего значения - выдается запрос с пустым набором, ошибки нет.
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248459
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще говоря на этот случай есть волшебные слова SET NOCOUNT OFF
Но мне это не помогло (если вписать их напрямую в запрос к серверу). Аксес 97.
Чем тебе не нравится по человечески запускать сохраненку? Через QueryDef (в случае DAO) или Command (в случае ADO)?
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248465
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет QueryDef я погорячился конечно.
Если у тебя работает exec sp_tabel_zaneseni 50, то зачем тебе еще что-то?
Может ты чего не договариваешь?
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248492
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1)а ты пробовал создать новый запрос с исходным текстом?
2) нет ли у тебя полей названных по русски или служебными словами?
3) покажи текст sp_tabel_zaneseni



у меня были случаи когда ломались запросы
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248503
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще говоря на этот случай есть волшебные слова SET NOCOUNT OFF

Скорее всего SET NOCOUNT ON. Особенно если в процедуре имеются запросы INSERT/UPDATE/DELETE
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248514
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
товарищ упорно не показывает текст процедуры, поэтому остаётся только одно-правильно избрать способ гадания
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248523
grival
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я с помощью программки (см. ниже) создаю запрос к серверу для того, чтобы использовать переменные из формы ( [Forms]![Tabel].[Ksp1]). Это числовое поле, а еще есть поле даты, но я его пока опускаю.

Dim db As Database, qdf As QueryDef
Set db = CurrentDb
Set qdf = db.QueryDefs("Diagr")
qdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=(local);UID=administrator;Trusted_Connection=Yes"
qdf.SQL = " "
qdf.SQL = qdf.SQL & " declare @kspM smallint" & Chr(13) & Chr(10)
qdf.SQL = qdf.SQL & " set @kspM = " & [Forms]![Tabel].[Ksp1] & Chr(13) & Chr(10)
qdf.SQL = qdf.SQL & "exec sp_tabel_zaneseni @kspM" & Chr(13) & Chr(10)
qdf.Execute
qdf.Close
Set qdf = Nothing

А процедура простейшая:

CREATE PROCEDURE [sp_tabel_zaneseni]
(@kspM smallint)
AS
SELECT Nsp, Ksp
FROM dbo.Infor
WHERE ksp=@kspM
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248529
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего SET NOCOUNT ON
Позор на мою седую голову
Всего в нескольких буквах ашипся - а так стыдно
grival, прислушайся к словам Glory
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248535
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я ведь в самом начале говорил
В этом случае нужно или генерить строку с подстановкой параметра
или использовать Query.Parameters


Вариант 1:
...
qdf.SQL = "exec sp_tabel_zaneseni " & str([Forms]![Tabel].[Ksp1])
...
Вариант 2:
Использование QueryDefs.Parameters (см. справку)
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248538
grival
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заработало! С Set Nocount on заработало. Огромное спасибо всем. Извините за затраченное на меня время
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248550
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот с этого и надо было начинать

сомневаюсь что ты таким образом(через SP) в А97 получишь результат селекта
переделай так:
Dim db As Database, qdf As QueryDef
Set db = CurrentDb
Set qdf = db.QueryDefs("Diagr")
qdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=(local);UID=administrator;Trusted_Connection=Yes"
qdf.SQL = " "
qdf.SQL = qdf.SQL & " SELECT Nsp, Ksp FROM dbo.Infor WHERE ksp= " & [Forms]![Tabel].[Ksp1]
Qdf.ReturnsRecords = True
qdf.Execute
qdf.Close
Set qdf = Nothing

и ещё чуть-чуть дёгтя- результат этого селекта будет не редактируемый
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248557
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Татьяна
Получит. Еще как получит. Все равно непонятно зачем именно так. Ну да и хрен бы с ним. Колхоз - дело добровольное.
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248565
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Лох Позорный
Ну дык - Как вы яхту назовете, так она и поплывет
...
Рейтинг: 0 / 0
Передача параметра в SQL-сервер
    #32248573
grival
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как я могу по-другому выполнить процедуру с параметром из формы?
...
Рейтинг: 0 / 0
36 сообщений из 36, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Передача параметра в SQL-сервер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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