|
Как передать параметры в сохранённую процедуру.
|
|||
---|---|---|---|
#18+
Уважаемые Мэтры. Ситуация следующая: Есть сохранённая процедура на стороне SQL-сервера, которая принимает два параметра (дата начала периода и дата конца). Есть ODBC-запрос с именем "Query1" в A2002: SELECT * FROM P_STATACTIVITY ('01.09.2002', '30.09.2002'); P_STATACTIVITY - имя сохранённой процедуры. Даты - параметры приведённые для примера. Есть отчёт, который в качестве источника данных использует выражение: Me.RecordSource="SELECT * FROM Query1" А теперь вопрос: Как мне передавать не константы в качестве параметров, а, например, глобальные переменные, поля формы и т.д. Что не хотелось бы делать ! Передавать параметры в процедуру через данные из какой-либо таблицы. Изменять строку запроса непосредственно перед его исполнением, подставляя новые выражения строковых констант. Проблема насущная. Буду признателен, если кто-нибудь что-нибудь подскажет. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 17:13 |
|
Как передать параметры в сохранённую процедуру.
|
|||
---|---|---|---|
#18+
Private Sub Form_Open(Cancel As Integer) Dim rst As ADODB.Recordset Dim cmd As ADODB.Command, prm As ADODB.Parameter Dim cnn As ADODB.Connection Set cnn = New ADODB.Connection With cnn .Provider = "SQLOLEDB" .Properties("Data Source") = "LUNA" .Properties("Initial Catalog") = "Manhattan" .Properties("Integrated Security") = "SSPI" .Open End With Set cmd = New ADODB.Command Set rst = New ADODB.Recordset cmd.ActiveConnection = cnn 'rst.Open "select * from class", cnn cmd.CommandText = "[хп]" cmd.CommandType = adCmdStoredProc Set prm = cmd.CreateParameter("t", adInteger, adParamInput, , 1) cmd.Parameters.Append prm rst.Open cmd, , adOpenKeyset, adLockOptimistic, adCmdStoredProc Set Me.Recordset = rst rst.Close End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 17:24 |
|
Как передать параметры в сохранённую процедуру.
|
|||
---|---|---|---|
#18+
Уважаемый Дид. Собственно Вашего ответа я и ожидал. К своему стыду, я понятия не имею, что такое ADO, плохо представляю технологию OLE и как следствие, пока ничего не понял из того, что Вы написали. Я разберусь. У меня есть одна небольшая просьба. Есть ли какой-либо способ связаться с Вами не через форум ? К примеру ICQ или E-Mail ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 17:45 |
|
|
start [/forum/topic.php?fid=45&msg=32059358&tid=1683130]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 158ms |
0 / 0 |