Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
marianna

Передача параметров в хранимую процедуру

19.07.2010, 11:14. Показов 2343. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу в хранимой процедуре сделать параметром название таблицы, возможно ли это? на код ниже выдает 'синт. ошибка оклоло @nametbl'
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE PROCEDURE procimpo  AS
@nametbl VARCHAR
IF EXISTS (SELECT * FROM sysobjects
           WHERE name =@nametbl)
    BEGIN
            DROP TABLE @nametbl
    END
 
CREATE TABLE @nametbl
(
  ID INT NULL,
npd     nvarchar(9) NULL,
...
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.07.2010, 11:14
Ответы с готовыми решениями:

Передача параметров в хранимую процедуру для отчета Crystal Reports 6.0
Кто нибудь передавал параметры в отчет на основе хранимой процедуры SQL Server 7.0 ? Как это сделать?

Как записать хранимую процедуру в Access?
kak zapustit xranimuyu proceduru v Access? Set cm = New ADODB.Command Set cm.ActiveConnection = con cm.CommandType = adCmdStoredProc ...

Как из VB вызвать Хранимую функцию, а не процедуру?
Как из VB вызвать Хранимую функцию, а не процедуру

13
marianna
19.07.2010, 11:15
уже заметила одну сама
marianna
19.07.2010, 11:20
но вопрос остается открытым.
marianna
19.07.2010, 11:28
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE PROCEDURE procimpo
@nametbl VARCHAR(10)
AS
 
IF EXISTS (SELECT * FROM sysobjects
           WHERE name = '@nametbl')
     BEGIN
     DROP TABLE @nametbl
     END
 
CREATE TABLE @nametbl
(
  ID INT NULL,
npd     nvarchar(9) NULL,
...
1-ая ошибка - drop table @nametbl
2-ая ошибка - create table @nametbl
marianna
19.07.2010, 12:28
Процедуру написала. В Query Analizere проходит
Code
1
 procimpo “tbltrud”
Как вызвать из Basica с параметром?
По-разному писала текст команды – ошибка forever!
Code
1
 cmd.CommandText = 'procimpo 'tbltrud''
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
19.07.2010, 13:29
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Public Function IMPORT(ByVal TableName As String) As Long
On Error GoTo err_debug
Dim cmd As ADODB.Command, p As ADODB.Parameters
    Set cmd = New ADODB.Command
    cmd.ActiveConnection = GetConnectionString()
    cmd.CommandType = adCmdStoredProc
    cmd.CommandText = 'procimpo'
    Set p = cmd.Parameters
    p.Append cmd.CreateParameter('RETURN_VALUE', adInteger, adParamReturnValue)
    p.Append cmd.CreateParameter('@nametbl', adVarChar, adParamInput, 10, TableName)
    cmd.Execute , , adExecuteNoRecords
    IMP_GetClientID = p('RETURN_VALUE').Value
lb_out:
    Set p = Nothing
    Set cmd = Nothing
    Exit Function
    
err_debug:
    LogError 'IMPORT'
    Resume lb_out
End Function
0
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
19.07.2010, 13:31
Visual Basic
1
IMPORT = p('RETURN_VALUE').Value
,Sorry
0
marianna
19.07.2010, 14:27
Спасибо, проверила.
надо писать
Visual Basic
1
cmd.Parameters.Append cmd.CreateParameter('@nametbl', adVarChar, adParamInput, 10, strFile)
a p.Append и set p = cmd.Parameters - неправильные операторы
marianna
19.07.2010, 14:44
Возвращаюсь к первоначальному вопросу. Как передавать параметры из Basica я поняла.
Я нашла выход, который меня не устраивает – писать EXEC sp_rename 'tblimpo', @nametbl
в конце хранимой процедуры, т.е. переименовывать таблицу с определенным именем в произвольную. Но теперь не знаю, как удалять таблицу с переменным именем (переименованную), не могу передать команде drop и create имя таблицы как параметр.
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
19.07.2010, 15:02
SQL
1
2
3
4
DECLARE @SQL VARCHAR(200)
 
@SQL='drop ' + @tablename
EXEC @SQL
0
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
19.07.2010, 15:07
SQL
1
EXEC (@SQL)
0
marianna
19.07.2010, 16:52
А как быть с create - ом?
Где указывать поля?
Код ниже не проходит.
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SET @strsql='create table '  + @nametbl +
'(
ID int null,
npd     nvarchar(9) null,
fam     nvarchar(18) null,
im  nvarchar(15) null,
ot  nvarchar(15) null,
adm     nvarchar(3) null,
nasp    nvarchar(20) null,
ulc     nvarchar(30) null,
adr     nvarchar(10) null,
st int null
)'
 EXEC (@strsql)
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
19.07.2010, 18:04
пробел перед скобкой ( добавь пробел, убери все спецсимовлы типа табуляций и перевода строк, все названия полей заключи в квадратные скобки (например: [ID]), задай длину переменной @strsql varchar(2000) и все проходит.
0
marianna
20.07.2010, 10:40
Спасибо. Все получилось.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.07.2010, 10:40
Помогаю со студенческими работами здесь

Передача параметров в хранимую процедуру
ПРивет всем, ПОдскажите плз, хотел сделать универсальную процедуру на выборку, по нескольким параметрам, текст примерно такой ...

Передача параметров в хранимую процедуру
Подскажите вот в sql у меня есть параметры @Author И мне нужно Передавать эти параметра при нажатия на кнопку, я совсем недавно стал...

Передача параметров в хранимую процедуру FDQuery
Собственно вопрос в этом, как их передать? Сама процедура описана, параметры есть, нету значений в них Как с помощью FDQuery их...

Добавление параметров в хранимую процедуру VS C#
Я ввожу значение в текстбокс и это значение пытаюсь добавить в параметры хранимой процедуры что бы выполнить запрос. Проблема в том, что...

Перевод параметров из VB в хранимую процедуру MS SQL Server2000
Помогите новичку! Как без особых наворотов передать в хранимую процедуру на сервере параметры из поля на форме Форма1 *.adp? На основе SP...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru