|
|
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
При выполнении простого запроса к серверу: declare @kspM smallint set @kspM = 50 exec sp_tabel_zaneseni @kspM не возвращается ни одной строки. Если запускать с явным параметром и без второй строки - записи возвращаются: declare @kspM smallint -- set @kspM = 50 exec sp_tabel_zaneseni 50 ??? Что это может быть? Процедура - обычная выборка по условию. Подскажите что можно сделать. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:05 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Тут два варианта: 1) Код в студию 2) Тыркнись в главный форум, но там тож код захочуть! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:12 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Самое главное - откуда сие запускается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:13 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
а может все таки так declare @kspM smallint select @kspM = 50 exec sp_tabel_zaneseni @kspM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:13 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
2 sasha_1: Либо я дурак, либо одно из двух. select @kspM = 50 - это чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:16 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
как чего, присвоение значения переменной. (правда это из SQL Server 7) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:17 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
С select-ом то же самое творится. Запускается из Access-97. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:17 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Ндя, а чем set плох? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:19 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Запускается из Access-97. Э-эх, опять используется кастрированная/промежуточная платформа. В этом случае нужно или генерить строку с подстановкой параметра или использовать Query.Parameters (точно не помню, потому как не использую) Это в форуме уже обсуждалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:23 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
>Запускается из Access-97. т.е. как из Ас. Я думал это скуль сервер. в Ас вроде всю жизнь Dim использовался. dim kspM as integer kspM = 50 exec sp_tabel_zaneseni kspM так наверное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:25 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
:) :) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:27 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
точнее так dim kspM as integer kspM = 50 exec sp_tabel_zaneseni str(kspM) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:28 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Запрос к SQL-серверу. Dim и т.д. не проходит! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:34 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
уже понял :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:36 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
declare @strPath1 varchar(100) set @strPath1 ='\\Dapfiles\D\Projects\Dap\Test\DATA\supersol.txt' exec dbo.spCallDataLoad @strPath1 у меня это в А97 распрекрасно работало проверь тип передаваемого параметра ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:40 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
точно, точно попробуй declare @kspM varchar(10) set @kspM = "50" exec sp_tabel_zaneseni @kspM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:43 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. У меня тоже отработало(Асс2002),так что присоединяюсь к Татьяне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:53 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
На том и порешим - у автора топика случилось локальное возмущение Силы. Пока к нему не прибежит джидай с синим мечом - запускать запрос можно даже не пытаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 16:55 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Попробовал на Access-2k - то же самое. Татьяне: не проходит твой метод, после приведения в соответствие типов данных - тот же результат. (c)VIG: не пойму чем твой запрос отличается от моего исходного? Лоху Позорному: какое-то возмущение вероятно случилось, но хочется узнать в каком месте. Ты бы помог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 17:16 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
2 grival Я уже говорил пути решения. дополнительный вопрос. Покажи код, с помощью которого запускается запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 17:39 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Запрос запускаю из A97, строка подключения ODBC: ODBC;DRIVER=SQL Server;SERVER=SUN;UID=administrator;Trusted_Connection=Yes ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 18:19 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
ты откуда запрос запускаешь? ЕСЛИ запускаешь из окна базы данных , запрос отрабатывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 08:57 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Ни из окна базы данных, ни из формы не запускается. Выдает ошибку: Запрос к серверу, свойство "Возврат записей" (ReturnsRecords) которого имеет значение "Истина", не вернул ни одной записи. Такое впечатление, что передается параметр с неопределенным типом данных, потому что если выполнить запрос с явным указанием несуществующего значения - выдается запрос с пустым набором, ошибки нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 09:50 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Вообще говоря на этот случай есть волшебные слова SET NOCOUNT OFF Но мне это не помогло (если вписать их напрямую в запрос к серверу). Аксес 97. Чем тебе не нравится по человечески запускать сохраненку? Через QueryDef (в случае DAO) или Command (в случае ADO)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 09:56 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Насчет QueryDef я погорячился конечно. Если у тебя работает exec sp_tabel_zaneseni 50, то зачем тебе еще что-то? Может ты чего не договариваешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 10:01 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
1)а ты пробовал создать новый запрос с исходным текстом? 2) нет ли у тебя полей названных по русски или служебными словами? 3) покажи текст sp_tabel_zaneseni у меня были случаи когда ломались запросы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 10:26 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Вообще говоря на этот случай есть волшебные слова SET NOCOUNT OFF Скорее всего SET NOCOUNT ON. Особенно если в процедуре имеются запросы INSERT/UPDATE/DELETE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 10:32 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
товарищ упорно не показывает текст процедуры, поэтому остаётся только одно-правильно избрать способ гадания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 10:38 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Я с помощью программки (см. ниже) создаю запрос к серверу для того, чтобы использовать переменные из формы ( [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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 10:44 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Скорее всего SET NOCOUNT ON Позор на мою седую голову Всего в нескольких буквах ашипся - а так стыдно grival, прислушайся к словам Glory ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 10:48 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Я ведь в самом начале говорил В этом случае нужно или генерить строку с подстановкой параметра или использовать Query.Parameters Вариант 1: ... qdf.SQL = "exec sp_tabel_zaneseni " & str([Forms]![Tabel].[Ksp1]) ... Вариант 2: Использование QueryDefs.Parameters (см. справку) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 10:50 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
Заработало! С Set Nocount on заработало. Огромное спасибо всем. Извините за затраченное на меня время ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 10:52 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
вот с этого и надо было начинать сомневаюсь что ты таким образом(через 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 и ещё чуть-чуть дёгтя- результат этого селекта будет не редактируемый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 10:58 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
2 Татьяна Получит. Еще как получит. Все равно непонятно зачем именно так. Ну да и хрен бы с ним. Колхоз - дело добровольное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 11:02 |
|
||
|
Передача параметра в SQL-сервер
|
|||
|---|---|---|---|
|
#18+
2Лох Позорный Ну дык - Как вы яхту назовете, так она и поплывет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 11:05 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1679710]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 190ms |
| total: | 339ms |

| 0 / 0 |
