Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 1
Регистрация: 11.10.2010
Сообщений: 363
1

Не вижу ошибку в коде. объект ADODB.Recordset

22.05.2011, 15:20. Показов 1550. Ответов 6
Метки нет (Все метки)

редактирую б д
<%@LANGUAGE='VBSCRIPT' CODEPAGE='1251'%>
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
<title>Редактирование базы данных...</title>
<!--#include file='adovbs.inc'-->
</head>
<body>
<%
'получение URL текущей страницы и отоброжение его посетителю web
thisURL=Request.ServerVariables('PATH_INFO')
Response.Write('<p>URL этой страницы: ' & thisURL & '</p>' & vbCrLf)
'Открытие соединения с базой данных
Set cnn1=Server.CreateObject('ADODB.Connection')
openSTR= 'driver={Microsoft Access Driver (*.mdb)};' & 'dbq=' & Server.MapPath('coinclub.mdb')
cnn1.Open openSTR,'',''
'Открытие набора записей и получение записи для текущего URL.
sql='SELECT url,hitcnt,lastcnt ' & 'FROM hitcounts ' & 'WHERE url=''&thisURL&'''
' пытаюсь получить набор записей rsHits
'вариант 1
Set rsHits=cnn1.execute(sql)
'вариант 2
'Set rsHits=Server.CreateObject('ADODB.Recordset')
'rsHits.Open sql, cnn1, adOpenDynamic, adLockPessimistic, adCmdText
'''''''''''''''
'Если набор записей не содержит записей то счетчик посещений недоступен
If rsHits.EOF Then
'Response.Write('<p>посещений не было</p>')
rsHits.AddNew
rsHits('url')=thisURL
curCount=1
else
'получение существующего счетчика посещений и увеличение его на единицу
curCount=rsHits('hitcnt')+1
end if
'Обновление базы данных информацией о дате последнего посещения и количестве посещений
rsHits('hitcnt')=curCount
rsHits('lastcnt')=Now()
rsHits.Update
'отображение нового счетчика посещений посетителю WEB
Response.Write('<p>Посещения этой страницы: ' & curCount)
'закрытие и освобождение объектов Recordset,Connection
rsHits.Close
Set rsHits=Nothing
cnn1.Close
Set cnn1=Nothing
%>
</body>
</html>
В обоих вариантах при попытке открыть набор записей возвращается одна и та же ошибка.
Тип ошибки:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Драйвер ODBC Microsoft Access] Слишком мало параметров. Требуется 1.
/counter1.asp, line 21
подозреваю, что дело в строке открытия соединения с базой данных
С уважением,
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2011, 15:20
Ответы с готовыми решениями:

При попытке создать объект ADODB.Recordset зависает IIS .
Web Сервер на базе Win2000/IIS Подключаюсь с ASP страницы через VBScript к ODBC источнику (Btrieve...

Обращение к данным в БД. Ошибка: Объект не является ни ADODB.RecordSet, ни ADODB.Record
при созданиие приложения в коде у меня возникла ошибка подскажите суть проблемы ...

Recommended style: Private rstOrder As ADODB.Recordset Set rstOrder = New ADODB.REcordset
Ошибка такая Object variable or With block variable not set. Код такой: Private rstOrder As...

XML->ADODB.Stream->ADODB.Recordset
Пытаюсь настроить XML-&gt;ADODB.Stream-&gt;ADODB.Recordset Подаю ПРАВИЛЬНЫЙ XML на вход ниже...

6
81 / 57 / 68
Регистрация: 15.03.2007
Сообщений: 6,908
22.05.2011, 15:49 2
В какой именно строке ошибка выдается? 21 строка в твлем примере это комментарий.

Кстати, ты зря хранишь mdb файл в папке веб-сервера. Делая так ы даешь возможность любому выкачать его прямым запросом типа
http://site/coinclub.mdb.
0
0 / 0 / 1
Регистрация: 11.10.2010
Сообщений: 363
23.05.2011, 13:16  [ТС] 3
Уважаемый Bazile. Очень рад, что Вы откликнулись!
Как я уже говорил ошибка возникает при попытке открыть набор данных.
'вариант 1
'Set rsHits=cnn1.execute(sql)
'вариант 2
Set rsHits=Server.CreateObject('ADODB.Recordset')
rsHits.Open sql, cnn1, adOpenDynamic, adLockPessimistic, adCmdText- на этой строке выпадает ошибка
C уважением
0
0 / 0 / 1
Регистрация: 11.10.2010
Сообщений: 363
23.05.2011, 13:19  [ТС] 4
ЧТОБЫ НЕ СМУЩАТЬ ВАС, Я ПРИСЛАЛ СНОВА ВЕСЬ КОД УЖЕ БЕЗ ВСЯКИХ ВАРИАНТОВ
редактирую б д
<%@LANGUAGE='VBSCRIPT' CODEPAGE='1251'%>
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
<title>Редактирование базы данных...</title>
<!--#include file='adovbs.inc'-->
</head>
<body>
<%
'получение URL текущей страницы и отоброжение его посетителю web
thisURL=Request.ServerVariables('PATH_INFO')
Response.Write('<p>URL этой страницы: ' & thisURL & '</p>' & vbCrLf)
'Открытие соединения с базой данных
Set cnn1=Server.CreateObject('ADODB.Connection')
openSTR= 'driver={Microsoft Access Driver (*.mdb)};' & 'dbq=' & Server.MapPath('coinclub.mdb')
cnn1.Open openSTR,'',''
'Открытие набора записей и получение записи для текущего URL.
sql='SELECT url,hitcnt,lastcnt ' & 'FROM hitcounts ' & 'WHERE url=''&thisURL&'''
' пытаюсь получить набор записей rsHits
Set rsHits=Server.CreateObject('ADODB.Recordset')
rsHits.Open sql, cnn1, adOpenDynamic, adLockPessimistic, adCmdText
'''''''''''''''
'Если набор записей не содержит записей то счетчик посещений недоступен
If rsHits.EOF Then
'Response.Write('<p>посещений не было</p>')
rsHits.AddNew
rsHits('url')=thisURL
curCount=1
else
'получение существующего счетчика посещений и увеличение его на единицу
curCount=rsHits('hitcnt')+1
end if
'Обновление базы данных информацией о дате последнего посещения и количестве посещений
rsHits('hitcnt')=curCount
rsHits('lastcnt')=Now()
rsHits.Update
'отображение нового счетчика посещений посетителю WEB
Response.Write('<p>Посещения этой страницы: ' & curCount)
'закрытие и освобождение объектов Recordset,Connection
rsHits.Close
Set rsHits=Nothing
cnn1.Close
Set cnn1=Nothing
%>
</body>
</html>
В обоих вариантах при попытке открыть набор записей возвращается одна и та же ошибка.
Тип ошибки:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Драйвер ODBC Microsoft Access] Слишком мало параметров. Требуется 1.
/counter1.asp, line 21
подозреваю, что дело в строке открытия соединения с базой данных
С уважением,
0
81 / 57 / 68
Регистрация: 15.03.2007
Сообщений: 6,908
23.05.2011, 17:46 5
Скорее дело в запросе. Соединение то у тебя раньше открывается.
Попробуй так запрос записать
sql='SELECT url,hitcnt,lastcnt FROM hitcounts WHERE url='' & thisURL & '''
0
WebLamer
25.05.2011, 14:37 6
Попробуй выполнить результирующий запрос(на котором падает скрипт) в самом Access'e и дай на него глянуть.
0 / 0 / 1
Регистрация: 11.10.2010
Сообщений: 363
29.05.2011, 23:24  [ТС] 7
я выполнял этот запрос непосредственно в субд access. все работает. дело явно не в этом.
с уважением
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2011, 23:24

Какие библиотеки содержат классы: Dim Con1 As ADODB.Connection Dim Rec1 As ADODB.Recordset ?
Какие библиотеки содержат эти классы: Dim Con1 As ADODB.Connection Dim Rec1 As...

Можно ли использовать ADODB.Recordset?
Ситуация вобщем то такая - повсеместная Есть обычные asp файлы, пишу на VBScript. Создаю...

Просуммировать поле в ADODB Recordset
Ребята! Есть Recordset, в котором нужно просуммировать поле с условием! Раньше, когда была таблица...

Как филтровать adodb.recordset
при установке филтра с использованием символов '*' и '?', '*' - работает , а '?' - нет В ЧЕМ ДЕЛО


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru