• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

СРочно нужна помошь!

  • Автор темы Abbi
  • Дата начала
A

Abbi

Не могу найти ошибку. Проверка на происходит.


[codebox]Function check_kod(a As Variant) As Variant
Dim ses As New Notessession
Dim view As NotesView
Dim docum As NotesDocument
Dim result As String
Dim arr (0 To 1) As String

Dim spravdb As New NotesDatabase("","")

sServer=ses.GetEnvironmentString("SpravInfServer")
sDb = "testOTiTB.nsf"

If Not spravdb.OpenWithFailover(sServer,sDb) Then
Msgbox "База данных ""Тестирование"" не найден.", 16,"Ошибка..."

End If

Set view = spravdb.GetView("(testir)")

result = Inputbox ("Введите код для прохождения тестирования","Тестирование","")
arr(0) = result
arr(1) = a(0)

Set docum=view.GetDocumentByKey(arr) !!!!! НЕ ПРИСВАИВАЕТ DOCUM !!!

If Not(docum Is Nothing) Then
check_kod =True
End If

End Function[/codebox]
 
M

morpheus

в какой строке ошибка

з.ы. в след. раз более понятно называйте тему
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Значит не может найти документ по такому ключу, или колонки не отсортированы.
 
A

Abbi

Значит не может найти документ по такому ключу, или колонки не отсортированы.

документ существует и колонки отсортированные


Цитата(Abbi @ 15:04:2009 - 11:49) *
arr(0) = result
arr(1) = a(0)


зачем 2 ключика одинаковых всегда?


они не одинаковые


Set docum=view.GetDocumentByKey(arr)

у меня docum почему то пустой.
 
A

alb

GetDocumentByKey(arr)
я думал принимает в качестве аргумента только строковый тип, нужно уточнить в хелпе
а тут массив
может так пойдет GetDocumentByKey(arr(0)) или GetDocumentByKey(result) или GetDocumentByKey(Cstr(result))
 
A

alb

еще стоить проверить тип столбца на вьюхе
и в запросе использовать такой тип
 
A

azat20

так делай Set docum=view.GetDocumentByKey(arr(0))
 
O

Omh

Резюмируем :ph34r:
1. Нет документа с такими данными в столбцах
2. Столбцы не отсортированы
3. Столбцы отображают не string

Если так уверен в первых 2-х вариантах, то остаёются третий.
Ну и судя по тому, что ищется нечто суровое, можно вторым параметром к GetDocumentByKey сдеать true.
 

Murtas

Green Team
11.04.2006
137
1
BIT
4
а вот - начни индекс не с 0 с 1

arr(1) = result
arr(2) = a(0)
 
O

Omh

Замечание Medevic как раз к тому, что надо нормально переменные называть.
Мне тоже показалось, что одной и той же фигней оба элемента аррая заполняются.
 
A

Abbi

И еще аналогичная ситуация только что заметил это другая функция похожая.
Если данные вводит Администратор то все нормально отрабатывает а если данные вводит пользователь то аналогичная ситуация

Set docum=view.GetDocumentByKey(arr)
так же не работает


[codebox]Function check_sotr(a,b As Variant) As Variant
Dim ses As New Notessession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim view As NotesView
Dim docum As NotesDocument
Dim doc As NotesDocument
Set doc=ws.CurrentDocument.Document
Set db=ses.CurrentDatabase
Set view = db.GetView("(sotr)")
Dim arr(0 To 1) As String

arr(0) = a(0)
arr(1) = b(0)

Set docum=view.GetDocumentByKey(arr)

If Not(docum Is Nothing) Then
check_sotr =True
End If

End Function[/codebox]
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!