0 / 0 / 1
Регистрация: 11.10.2010
Сообщений: 363
|
|
1 | |
Не вижу ошибку в коде. объект ADODB.Recordset22.05.2011, 15:20. Показов 1594. Ответов 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
|
|
22.05.2011, 15:20 | |
Ответы с готовыми решениями:
6
При попытке создать объект ADODB.Recordset зависает IIS . Обращение к данным в БД. Ошибка: Объект не является ни ADODB.RecordSet, ни ADODB.Record Recommended style: Private rstOrder As ADODB.Recordset Set rstOrder = New ADODB.REcordset XML->ADODB.Stream->ADODB.Recordset |
85 / 61 / 69
Регистрация: 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
|
85 / 61 / 69
Регистрация: 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
|
29.05.2011, 23:24 | |
Помогаю со студенческими работами здесь
7
Какие библиотеки содержат классы: Dim Con1 As ADODB.Connection Dim Rec1 As ADODB.Recordset ? Можно ли использовать ADODB.Recordset? Просуммировать поле в ADODB Recordset Как филтровать adodb.recordset Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |