0 / 0 / 0
Регистрация: 21.04.2007
Сообщений: 156
|
|
1 | |
error '80020009' Îøèáêà. /lalala/profile.asp, line 2831.05.2007, 05:47. Показов 3770. Ответов 12
Метки нет Все метки)
(
При простейшем и сто раз работавшем скрипте, вылетает ошибка!
след. содержания error '80020009' Îøèáêà. /lalala/profile.asp, line 28 Производится проверка уровня юзера <% if rs('level') = true then %> <!--#INCLUDE FILE='level_true.asp'--> <% else %> <!--#INCLUDE FILE='level_false.asp'--> <% end if %> Причем если у юзера level = true, то всё работает нормально, а если level <> true выдает ошибку в строке с <% if rs('level') = true then %> Что это такое может быть??? ?:-(
0
|
|
31.05.2007, 05:47 | |
Ответы с готовыми решениями:
12
query='SELECT * FROM resume WHERE ' & ''' & RecSet('place')& ''' & '=' & '''& s_loc &''' & - что не так? Кто встречался с таким, подскажите - (#206;áúåêò) Access & ASP & не хочет добавлять данные в таблицу Вопрос по SQL & ASP & Search |
Sergik
|
|
31.05.2007, 10:51 | 2 |
У тебя написано просто 'Ошибка'
Во-первых, какого типа поле 'level'? Во-вторых, напиши полную ошибку, начиная с первой строки (а то не понятно, что именно вызывает ошибку VBScript или ODBC или еще что) общие заметки: файлов подключится всегда два, независимо от условия, т.к. INCLUDE выполняются до ASP кода, хотя выполнится из них только один. Если поле 'level' типа bit, то ошибки быть не должно, а если типа string, то true надо заключать в кавычки, при записи и при сравнении. |
0 / 0 / 0
Регистрация: 21.04.2007
Сообщений: 156
|
|
31.05.2007, 21:45 [ТС] | 3 |
<% Response.Buffer = true %>
<!--#INCLUDE FILE='config.inc' --> <!--#INCLUDE FILE='inc/functions.asp' --> <!--#INCLUDE FILE='top.inc' --> <% set my_conn= Server.CreateObject('ADODB.Connection') my_Conn.Open dsn, usr, psw set rs = Server.CreateObject('ADODB.Recordset') Select Case Request.QueryString('mode') case 'display' ' ' ############################################################# strsql = 'SELECT level FROM Members WHERE id = ' & Request.QueryString('id') & '' rs.open strsql, my_conn if rs('level') = true then %> <!--#INCLUDE FILE='inc/vrf_true.asp' --> <% else %> <!--#INCLUDE FILE='inc/vrf_false.asp' --> <% end if rs.close set rs = nothing .... Поле level логическое с кавычками тоже не работает
0
|
DimOS
|
|
31.05.2007, 22:38 | 4 |
попробуй писать не file=..., а virtual=...
|
0 / 0 / 0
Регистрация: 21.04.2007
Сообщений: 156
|
|
01.06.2007, 00:40 [ТС] | 5 |
неа, не работает, пишет что неможет найти файлы, но тут дело то не в этом...
скрипт ведь на половину рабатает...
0
|
0 / 0 / 0
Регистрация: 21.04.2007
Сообщений: 156
|
|
03.06.2007, 00:58 [ТС] | 6 |
АА, горим, может кто поможет ещё?!
0
|
0 / 0 / 0
Регистрация: 21.04.2007
Сообщений: 156
|
|
03.06.2007, 00:58 [ТС] | 7 |
АА, горим, может кто поможет ещё?!
0
|
Sergik
|
|
03.06.2007, 10:39 | 8 |
Какая БД используется?
какой конкретно тип поля (bit если SQL Server или еще что?) перед строкой if rs('level') = true then нужно сделать Response.write(rs('level')) и посмотреть чему равно значение поля. и кто ошибку вызывает VBScript или ODBC? |
0 / 0 / 0
Регистрация: 21.04.2007
Сообщений: 156
|
|
04.06.2007, 09:14 [ТС] | 9 |
у меня Access 97.
при выводе пишет: True ошибка в VB видимо, т.к. у меня много логических полей и работаю с ними часто и точно так же и ничего не глючит... хотя нет тут никакой ошибки!
0
|
Sergik
|
|
04.06.2007, 11:08 | 10 |
попробуй вместо true -1, или 0 вместо false, т.е.
if CInt(rs('level'))=-1 then (если rs('level') true) Но мне кажется, что все равно ошибка не в этом, видимо дело в коде до этого или в rs('level') что-то типа NULL находится. Если пользуешься InterDev, то посмотри сюда: http://support.microsoft.com/support/kb/articles/Q253/7/79.ASP http://support.microsoft.com/support/kb/articles/Q216/5/69.ASP http://support.microsoft.com/support/kb/articles/Q234/2/05.ASP |
0 / 0 / 0
Регистрация: 21.04.2007
Сообщений: 156
|
|
05.06.2007, 15:04 [ТС] | 11 |
Вот похимичил...
теперь пишет ADODB.Field error '80020009' BOF èëè EOF èìååò çíà÷åíèå True, ëèáî òåêóùàÿ çàïèñü óäàëåíà. Äëÿ âûïîëíÿåìîé îïåðàöèè òðåáóåòñÿ òåêóùàÿ çàïèñü. ? чего это? ща сам похимичу ещё...
0
|
Sergik
|
|
05.06.2007, 15:44 | 12 |
Это у тебя:
BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции требуется текущая запись. |
0 / 0 / 0
Регистрация: 21.04.2007
Сообщений: 156
|
|
05.06.2007, 21:55 [ТС] | 13 |
Всем спасбо за помощь, особено Sergik'у!!!
Который всячески мне помогает... Конечно когда я скажу вам в чем было дело, то вы попытаесь побить меня, т.к. никакой ошибку просто небыло!!!это глюк в БД когда поле счетик, то она при добавлении после 3 сразу присвоила след. записи 5 номер, а 4 который должен был иметь в поле level значение false потому и не выводился, т.к. его просто не существовало... Извините!
0
|
05.06.2007, 21:55 | |
05.06.2007, 21:55 | |
Помогаю со студенческими работами здесь
13
Проверка if croot.selectSingleNode('//CountryList/Country[@Name='' & cname & '']') не работает Как получить целиком всю строку параметров query string (?id1=..&id2=..&id3=..) sQuery = 'DELETE FROM tb WHERE id IN (' & Request('Myvar') & ')' INSERT INTO tbl (strText) VALUES (''& strTextDB &'') WHERE strNumber=(SELECT MAX(strNumber) FROM tbl2) Специалистам по ADSI+IIS (GetObject('IIS://LocalHost/W3SVC/' & WebSiteNum & '/Root')) DataGrid & Asp Application in C# Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |