|
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 118
|
|
Есть ли в RecordSet команда определяющая число записей в нем?10.10.2007, 09:54. Показов 4263. Ответов 29
Метки нет (Все метки)
0
|
|
| 10.10.2007, 09:54 | |
|
Ответы с готовыми решениями:
29
Функция определяющая что общее число книг есть шестизначное число Вывести максимальное число из набора если в нем есть хоть одно четное число
|
|
0 / 0 / 0
Регистрация: 03.10.2007
Сообщений: 129
|
|
| 10.10.2007, 10:19 | |
|
Да, у объекта Recordset есть свойство RecordCount. Но данное свойство вернет количество записей только в том случае, если Recordset открывается с типом курсора adOpenKeySet или adOpenStatic, в остальных случаях результатом будет -1.
С уважением, Алексей.
0
|
|
|
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 118
|
|
| 10.10.2007, 10:53 [ТС] | |
|
Алексей,извините пожалуйста. Не могли ли бы Вы по-конкретней описать данную ситуацию?
0
|
|
|
0 / 0 / 0
Регистрация: 03.10.2007
Сообщений: 129
|
|
| 10.10.2007, 11:28 | |
|
Попробую :-)
Пусть у нас уже имеются ADO объекты Recordset (переменная objRS) и соединение (переменная objCon). При открытии Recordset указываем три параметра (всего их пять, два последних для нашей задачи не важны): <% objRS.Open 'SELECT * FROM MyTable', objCon, adOpenKeyset %> теперь мы имеем возможность воспользоваться свойством RecordCount: <% Response.Write objRS.RecordCount %> Но! Константа adOpenKeyset, также как и adOpenStatic, которая тоже нам подойдет, в ASP не определены, если мы не подключим необходимую библиотеку типов. Но мы этого делать не будем, так как проще объявить ранее эти константы в ASP (или вообще просто указать их значения в методе Open): <% adOpenKeySet=1 adOpenStatic=3 %> Удачнее будет приинклюдить в нашу ASP файл adovbs.inc, который есть в примерах InetpubiissamplesISSamples. В этом файле описаны все необходимые для работы с ADO константы. С уважением, Алексей.
0
|
|
|
Titan
|
|
| 10.10.2007, 13:18 | |
|
Я не давно столкнулся с этой проблемой
на самом деле rst.RecordCount вернет количество записей если предварительно пролистать весь рекордсет, я сделал так rst.Open sSQL, ..... rst.MoveLast iCount=rst.RecordCount rst.MoveFirst а дальше что угодно можно делать.... |
|
|
DimOS
|
|
| 10.10.2007, 14:06 | |
|
не совсем так. если курсор открыт как ForwardOnly (а это стандартное значение), то MoveFirst после MoveLast сделать уже нельзя будет.
Кроме того, я сомневаюсь, что можно сделать даже MoveLast. Самый простой и самый правильный способ предложил x-mailer |
|
|
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 118
|
|
| 11.10.2007, 11:12 [ТС] | |
|
Извините за назойливость, но проверте пожалуйста мой код, а то мой RecSet выдает мне -1.
CS='Database=Rf; Server=NORTH; Provider=SQLLEDB;UID=sa;PWD=' Set OBJdbConnection = Server.CreateObject('ADODB.Connection') OBJdbConnection.Open(CS) adOpenKeySet=1 Set RecSetHref = Server.CreateObject('ADODB.Recordset') RecSetHref.Open SQLQuery, OBJdbConnection, adOpenKeyset=1 if RecSetHref.EOF <>TRUE AND RecSetHref.BOF <> TRUE then p2=RecSetHref.RecordCount end if Мне кажется , что все так как Вы описали. Может где я ошибку не вижу?
0
|
|
|
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 118
|
|
| 11.10.2007, 11:12 [ТС] | |
|
Извините за назойливость, но проверте пожалуйста мой код, а то мой RecSet выдает мне -1.
CS='Database=Rf; Server=NORTH; Provider=SQLLEDB;UID=sa;PWD=' Set OBJdbConnection = Server.CreateObject('ADODB.Connection') OBJdbConnection.Open(CS) adOpenKeySet=1 Set RecSetHref = Server.CreateObject('ADODB.Recordset') RecSetHref.Open SQLQuery, OBJdbConnection, adOpenKeyset=1 if RecSetHref.EOF <>TRUE AND RecSetHref.BOF <> TRUE then p2=RecSetHref.RecordCount end if Мне кажется , что все так как Вы описали. Может где я ошибку не вижу?
0
|
|
|
0 / 0 / 0
Регистрация: 03.10.2007
Сообщений: 129
|
|
| 11.10.2007, 11:21 | |
|
попробуй строку
RecSetHref.Open SQLQuery, OBJdbConnection, adOpenKeyset=1 заменить на RecSetHref.Open SQLQuery, OBJdbConnection, adOpenKeyset
0
|
|
|
quit
|
|
| 11.10.2007, 11:47 | |
|
Set recSc=Server.CreateObject('ADODB.Records et')
recSc.Open 'SELECT COUNT(*) FROM chetchic',con,1,1 Number=CInt(recSc(0)) recSc.Close |
|
|
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 118
|
|
| 11.10.2007, 12:03 [ТС] | |
|
RecSetHref.Open SQLQuery, OBJdbConnection, adOpenKeyset тоже не работает.
0
|
|
|
0 / 0 / 0
Регистрация: 03.10.2007
Сообщений: 129
|
|
| 11.10.2007, 12:20 | |
|
Проверь все еще разок. Проверь название провайдера (у тебя SQLLEDB, надо SQLOLEDB). Если у тебя в коде где-то выше стоит on error resume next, убери, может быть просто не замечаешь, где происходит на самом деле ошибка. Если не заработает, вышли всю asp страницу мне на мыло, я посмотрю
CS='Provider=SQLOLEDB ata source=(local); Initial Catalog=test; UID=sa;PWD='Set OBJdbConnection = Server.CreateObject('ADODB.Connection') OBJdbConnection.Open(CS) adOpenKeySet=1 Set RecSetHref = Server.CreateObject('ADODB.Recordset') RecSetHref.Open 'SELECT * FROM Test', OBJdbConnection, adOpenKeyset if not RecSetHref.Eof then recCount=RecSetHref.RecordCount end if
0
|
|
|
quit
|
|
| 11.10.2007, 12:43 | |
|
Вся беда в том что вы может используете разные версии iis.
Т.к. у меня на сервере подобные вещи работают а дома на локале нет. |
|
|
0 / 0 / 0
Регистрация: 03.10.2007
Сообщений: 129
|
|
| 11.10.2007, 12:49 | |
|
Ну, дело тогда не в IIS, а в библиотеках ADO. А они вряд ли могут отличаться спецификациями настолько, что одни и те же механизмы реализуются абсолютно по-разному.
0
|
|
|
quit
|
|
| 11.10.2007, 13:23 | |
|
Насколько мне известно разные версии
iis в себе разные версии интерпритируемых язако например VBScript или JScript. Действительно динамически подключаемая библиотека компонентов ADO мало изменилась для внешних пользователей . Однака разнае версии скриптовых языков по разному ее реолизовали. Другими словами version2 например может реализовывать экспортируемые методы предостовляемые ADO в большей или меньшей степени. То что в iis 5.0 на VBScript метод recordset.RecordCount означает 'обращение к методу ADO выдающему количество recordset' в iis 4.0 (не обязательно я для примера поставил 4.0) - озночает 'зарезервированно для дальнейшей реализации получите 0' |
|
|
0 / 0 / 0
Регистрация: 03.10.2007
Сообщений: 129
|
|
| 11.10.2007, 13:33 | |
|
О чем ты говоришь?! О реализации ADO в JScript и VBScript? Я не думаю, что разработчики этого скриптинга сделали бы такую глупость. Есть готовые ActiveX или COM объекты, в скрипте есть возможность использовать ActiveX, зачем же тогда реализовывать то, что уже реализовано?
WScript НЕ реализовывает механизмы ADO, он их использует посредством ActiveX. (кстати, 'ADO' == 'ActiveX Data Objects')
0
|
|
|
quit
|
|
| 11.10.2007, 13:44 | |
|
Еще раз -
VBScript - это просто скрипт его как языка на самом деле не существует. То же HTML XML SQL При чтении ASP документа запускается анализатор. Каторый вызывает те или иные методы ADO Т.Е. Мы пришли к тому с чего возник спор. разные версии iis по разному Анализируют VBScript и у каждого из них свои пожелания по поводу правил написания скриптов. Насчет реализации VBScript методов ADO это я оговорился. Они реализуются внутренними средствами iis Спасибо за дискусию :-)) |
|
|
quit
|
|
| 11.10.2007, 13:59 | |
|
Кстати я написал что оговорился на самом деле нет.
Я написал что VBScript и JScript ИНТЕРПРИТИРУЕМЫЕ языки, а потом наша дисскусия перешла на более высокий уровень Абстракции почему я позволил себе давать условные термины.'реализация ADO например' |
|
|
0 / 0 / 0
Регистрация: 03.10.2007
Сообщений: 129
|
|
| 11.10.2007, 14:38 | |
|
>VBScript - это просто скрипт
>его как языка на самом деле не существует. >То же HTML XML SQL С HTML и XML согласен в частности. Это не языки программирования, но языки разметки (HTML) или языки описания данных (XML). Кстати, XML тоже содержит очень богатый скриптовый язык (программирования). С VBScript... Он не существует как язык? Что же тогда язык? Машинный код? Даже Assembler, и тот компилируется и линкуется :-). Чем же интерпретаторы, в отличие от компиляторов, могут позволить язык считать не языком? К примеру, есть интерпретаторы и копмиляторы языка BASIC. То есть, он одновременно и язык и не язык? (1) >При чтении ASP документа запускается анализатор. >Каторый вызывает те или иные методы ADO Что значит 'те или иные'? Какие ему, в зависимости от версии скрипта, вздумается? Или те, которые программер пишет? (2) >Т.Е. Мы пришли к тому с чего возник спор. >разные версии iis по разному Анализируют >VBScript и у каждого из них свои пожелания по >поводу правил написания скриптов. Во-первых, (2) не связано с (1), поэтому не логично писать Т.Е. Во-вторых, IIS не анализирует (не интерпретирует) VBScript, этим даже не занимается ISAPI фильтр (asp.dll). VBScript, равно как и JScript реализованы как OLE. В system32 найдешь vbscript.dll и jscript.dll. Они используются не только в ASP, но и, к примеру, в MSSQL DTS, в WScript, их можно и самому заюзать. В-третьих, опять же, скрипт и ADO связаны только механизмом ActiveX (ты знаком с ним?) И ему (скрипту) глубоко наплевать, что там и как работает, и никакие правила написания скриптов здесь не при чем. >Насчет реализации VBScript методов ADO >это я оговорился. >Они реализуются внутренними средствами iis Оговорился второй раз (причем дважды). IIS не реализует ADO, так как: 1) ASP обрабатывается фильтром, а не самим IIS, 2) ADO это ActiveX, попробуй удалить библиотеку MSADOxx.DLL, которая лежит в system32, и ADO перестанет работать вообще на этой машине, не только в ASP, а вообще нигде, может быть, это тебе позволит понять, что ни IIS, ни VBScript, ни даже asp.dll не реализуют его, а используют готовый ActiveX-компонент. >Спасибо за дискусию :-)) Я тоже благодарен. PS. Уровень абстракции и терминология не связаны друг с другом. Обратись к словарю по философии, чтобы более глубоко понять оба термина. Чтобы не выглядеть человеком, говорящим о том, чего не знаю, оговорюсь - по философии три года назад мною был сдан на 'пять' кандидатский минимум.
0
|
|
|
quit
|
|
| 11.10.2007, 15:37 | |
|
>VBScript - это просто скрипт
>его как языка на самом деле не существует. >То же HTML XML SQL С HTML и XML согласен в частности. Это не языки программирования, но языки разметки (HTML) или языки описания данных (XML). Кстати, XML тоже содержит очень богатый скриптовый язык (программирования). С VBScript... Он не существует как язык? Что же тогда язык? Машинный код? Даже Assembler, и тот компилируется и линкуется :-). Чем же интерпретаторы, в отличие от компиляторов, могут позволить язык считать не языком? К примеру, есть интерпретаторы и копмиляторы языка BASIC. То есть, он одновременно и язык и не язык? //////////////////////////////////// Мне следовало везде к слову 'язык' дописывать 'программирования' Видимо надо добавить что подзащитные больше относытся к набору инструкций. Внешне напоминающих VB Cи и унаследовавших логику построения алгоритмов. Кстати компилятор BASIC заливает скрипт своим интерпретатором - что обьясняет большой размер скомпилированных файлов //////////////////////////////////// (1) >При чтении ASP документа запускается анализатор. >Каторый вызывает те или иные методы ADO Что значит 'те или иные'? Какие ему, в зависимости от версии скрипта, вздумается? Или те, которые программер пишет? //////////////////////////////////// Анализатор смотрит - инструкция 'Write' запускает один метод смотрит - инструкция 'END' запускает другой метод //////////////////////////////////// (2) >Т.Е. Мы пришли к тому с чего возник спор. >разные версии iis по разному Анализируют >VBScript и у каждого из них свои пожелания по >поводу правил написания скриптов. Во-первых, (2) не связано с (1), поэтому не логично писать Т.Е. Во-вторых, IIS не анализирует (не интерпретирует) VBScript, этим даже не занимается ISAPI фильтр (asp.dll). VBScript, равно как и JScript реализованы как OLE. В system32 найдешь vbscript.dll и jscript.dll. Они используются не только в ASP, но и, к примеру, в MSSQL DTS, в WScript, их можно и самому заюзать. В-третьих, опять же, скрипт и ADO связаны только механизмом ActiveX (ты знаком с ним?) И ему (скрипту) глубоко наплевать, что там и как работает, и никакие правила написания скриптов здесь не при чем. ////////////////////////////////////////////// Правила написания скриптов : The following table lists VBScript language features and the version when first introduced. || Language Element || 1.0 || 2.0 || 3.0 Asc Function + Assignment Operator (=) + ////////////////////////////////////////////// На счет (2) наследует (1) (1) VBScript - набор инструкций (2) использование инструкции из более поздней версии VBScript в более ранней Не всегда приводит к желаемому результату ////////////////////////////////////////////// Скрипту наплевать А я что сказал ? ////////////////////////////////////////////// >Насчет реализации VBScript методов ADO >это я оговорился. >Они реализуются внутренними средствами iis Оговорился второй раз (причем дважды). IIS не реализует ADO, так как: 1) ASP обрабатывается фильтром, а не самим IIS, 2) ADO это ActiveX, попробуй удалить библиотеку MSADOxx.DLL, которая лежит в system32, и ADO перестанет работать вообще на этой машине, не только в ASP, а вообще нигде, может быть, это тебе позволит понять, что ни IIS, ни VBScript, ни даже asp.dll не реализуют его, а используют готовый ActiveX-компонент. //////////////////////////////////////////////// При анализе документа фильтры является встроенным средствоми iis поскольку сами фильтры без наследника или той программы каторая их будет использовать могут |
|
| 11.10.2007, 15:37 | |
|
Помогаю со студенческими работами здесь
20
Дано натуральное число. Определить, есть ли в нем цифра a
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|