full_lamer |
Отправлено: 28.05.2004, 14:53 |
|
Машинист паровоза
Группа: Участник
Сообщений: 225
|
Люди подскажите как передать параметр в ХП MSSQL 2000? Ну не хватает у меня мозгов...
Вообщем есть ХП:
create procedure p1
@gid int
as
select * from table1 where id = @gid
Нужно загнать туды параметр, причем желательно динамически его добавить...
Отредактировано full_lamer — 28/05/2004, 16:00
|
|
Gedeon |
Отправлено: 28.05.2004, 15:15 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Не пора ли хэлп начать читать?
QUOTE |
B. Use a simple procedure with parameters
This stored procedure returns only the specified authors (first and last names supplied), their titles, and their publishers from a four-table join. This stored procedure accepts exact matches for the parameters passed.
SQL | USE pubs
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'au_info' AND type = 'P')
DROP PROCEDURE au_info
GO
USE pubs
GO
CREATE PROCEDURE au_info
@lastname varchar(40),
@firstname varchar(20)
AS
SELECT au_lname, au_fname, title, pub_name
FROM authors a INNER JOIN titleauthor ta
ON a.au_id = ta.au_id INNER JOIN titles t
ON t.title_id = ta.title_id INNER JOIN publishers p
ON t.pub_id = p.pub_id
WHERE au_fname = @firstname
AND au_lname = @lastname
GO
|
The au_info stored procedure can be executed in these ways:
EXECUTE au_info 'Dull', 'Ann'
-- Or
EXECUTE au_info @lastname = 'Dull', @firstname = 'Ann'
-- Or
EXECUTE au_info @firstname = 'Ann', @lastname = 'Dull'
-- Or
EXEC au_info 'Dull', 'Ann'
-- Or
EXEC au_info @lastname = 'Dull', @firstname = 'Ann'
-- Or
EXEC au_info @firstname = 'Ann', @lastname = 'Dull'
Or, if this procedure is the first statement within the batch:
au_info 'Dull', 'Ann'
-- Or
au_info @lastname = 'Dull', @firstname = 'Ann'
-- Or
au_info @firstname = 'Ann', @lastname = 'Dull'
|
Отредактировано Gedeon — 28/05/2004, 16:18
|
|
full_lamer |
Отправлено: 28.05.2004, 15:17 |
|
Машинист паровоза
Группа: Участник
Сообщений: 225
|
Нет нет нет
Вы меня как всегда не поняли...
Я не могу из билдера передать параметр в ХП:
то Access Violetion Error
то говорит что незнаю такого параметра...
|
|
** pasha |
Отправлено: 28.05.2004, 17:53 |
|
Не зарегистрирован
|
А через какой компонент работаете с базой данных ?
Через него и пересылаете.
Если хранимая процедура не возвращает набор данных,
можете через StoredProc, если возвращает,
вызывайте хранимую процедуру через Query:
CODE |
AnsiString s = "Select * from p1(:gid)";
Query1->ParamByName("gid")->AsInteger = 10;
Query1->SQL->Add(s);
Query1->Open();
|
|
|
full_lamer |
Отправлено: 31.05.2004, 10:36 |
|
Машинист паровоза
Группа: Участник
Сообщений: 225
|
Не получилось: гвоорит что незнает такого объетка (название ХП)...
|
|
full_lamer |
Отправлено: 31.05.2004, 11:03 |
|
Машинист паровоза
Группа: Участник
Сообщений: 225
|
извиняюсь за беспокойство, я просто полный ламер: я нашел способ, вернее способ лежал у меня перед глазами, но я либо слепой, либо глупец...
всем спасибо.
|
|