Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
01.03.2001, 17:07
|
|||
---|---|---|---|
connection для выполнения sp |
|||
#18+
Проблема в ADO можно использовать connection для непосредственного выполнения хр. процедуры. К примеру, cnn.yourSP "parameter", rs, где yourSP - имя хр. пр, "parameter" - передаваемый параметр (ы - через ,), rs - возвращаемый RecordSet. Всё нормально работает, если у процедуры имеются параметры. А вот если их нет? Если пр-ра не возвращает rs, то тоже нормально - cnn.yourSP и ok, а если возвращает, то такой синтаксис cnn.yourSP , rs - выдает ошибку "Type name is invalid" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.03.2001, 21:17
|
|||
---|---|---|---|
connection для выполнения sp |
|||
#18+
По-моему в конференции уже об этом упоминалось, посмотрите, стоит ли SET NOCOUNT ON в теле процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.03.2001, 07:09
|
|||
---|---|---|---|
connection для выполнения sp |
|||
#18+
не получается процедура такая CREATE PROCEDURE utility_clsProdGroup_GetList AS set nocount on select prod_group_id, prod_group_name from clsProdGroup order by prod_group_name на клиенте Dim ProdGroupGetList as ADODB.Recordset Set ProdGroupGetList = New ADODB.Recordset ProdGroupGetList.CursorLocation = adUseClient mCN.utility_clsProdGroup_GetList , ProdGroupGetList результат - вышеназванная ошибка ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.03.2001, 18:02
|
|||
---|---|---|---|
|
|||
connection для выполнения sp |
|||
#18+
Пошли на Visual Basic (просто продублируй свой вопрос). Там и позарубаемся. Дело в том, что, на мой взгляд, эта конференция посвящена СЕРВЕРУ. А ADO - это абсолютно клиентский компонент, причем, как я выяснил, существуют кардинальные различия его преминения в VB и Delphi. Т.к. код вопроса VB - туда нам и дорога. Заодно оживим мертвую конфу. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.03.2001, 18:12
|
|||
---|---|---|---|
|
|||
connection для выполнения sp |
|||
#18+
CREATE PROC [ EDURE ] procedure_name [ ; number ] [ { @parameter data_type } [ VARYING ] [ = default ] [ OUTPUT ] ] [ ,...n ] По моему VARYING как раз для таких целей ( сам не пробовал ) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.03.2001, 18:18
|
|||
---|---|---|---|
|
|||
connection для выполнения sp |
|||
#18+
Попробуй так sSQL = "MySP "& Param1 &", "& Param2 &"" Set rsTest = Connection.Execute( sSQL ) В ASP такое проходила ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2001, 14:17
|
|||
---|---|---|---|
connection для выполнения sp |
|||
#18+
спасибо всем по очереди 1. на VB конференцию может и пошлю - но как-то я в них не особенно того - данная конференция, всё же, самая профессиональная из имеющихся в России по БДs и связанным с ними вопросами (ADO и проч.) 2. VARYING - Applies only to cursor parameters, для случаев, когда параметром служит курсор 3. Динамически сгенеренна строчка - это конечно пройдет, но вот хочется поцивильному ) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2001, 11:36
|
|||
---|---|---|---|
connection для выполнения sp |
|||
#18+
Поцивильному - это быстрее и надёжнее, т.е. вариант 3. Динамически сгенеренная строчка. А "mCN.utility_clsProdGroup_GetList , ProdGroupGetList" это для студентов - для демонстрации знаний адо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2001, 17:16
|
|||
---|---|---|---|
connection для выполнения sp |
|||
#18+
не хотелось бы ввязываться в дискуссию по поводу "правильности" кода, но замечу, что есть определенная разница между ODBC, где данная техника - единственно возможная, и ADO. Что касается знания ADO - увы мне... Ежели бы знал, то, наверно, и не спрашивал бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2001, 19:08
|
|||
---|---|---|---|
connection для выполнения sp |
|||
#18+
Я давал совет исходя из >3-х летней практики работы связки ADO <-> MS SQL Server. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.03.2001, 16:54
|
|||
---|---|---|---|
connection для выполнения sp |
|||
#18+
в таком случае, было бы интересно узнать агрументы в пользу 1 надежности 2. быстроты данной связки относительно приведенного синтаксиса. Хотя один можно, наверно, сразу увидеть - а вдруг Microsoft откажется от поддержки этого довольно нетривиального синтаксиса в следующих версиях ADO, как она сделала это в VB.NET со значениями по умолч. и проч. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.03.2001, 19:42
|
|||
---|---|---|---|
connection для выполнения sp |
|||
#18+
По быстроте очевидно - зачем в программе вызывать кучу методов кучи COM-интерфейсов в разных местах, когда можно вызвать 1 и всегда в одном месте? Я имею в виду не только излишнее использование разных методов АДО, но и вообще непосредственная работа с рекордсетами в программе. Намного лучше сделать ф-цию, которой можно давать строку запроса, а она будет возвращать массив (используя метод GteRows) и вызывать её отовсюду. Соответственно надёжность - из вышесказанного, например: 1. При непосредственной работе с рекордсетами половина текста программы - это работа с АДО (при хорошей обработке ошибок). 2. При обнаружении ошибок придётся перелопачивать тысячи файлов исходников. 3. То-же самое - при сервис-паке или новой версии АДО (например после установки новой версии IE). И т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&tablet=1&tid=1827244]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 264ms |
total: | 376ms |
0 / 0 |