2013-11-21 5 views
0

Я пытаюсь найти тех же пользователей входа в систему в базе данных.отношение ключевого значения в списке пропуска (DXL/DOORS)

Сначала я помещаю каждого пользователя в skiplist, затем я хочу сравнить его по одному. Мой вопрос: как я могу получить ключевое значение для Skiplist.

Кусок моего кода здесь:

for lUser in userList do { 

    string uName = lUser.name 
    string uEmail = lUser.email 
    string uSys = lUser.systemLoginName 
    string uAdr = lUser.address 
    outBuf += uName sep uSys sep uEmail sep uAdr 
    outBuf += "\n" 

    // Here I have to add some code, I can put the values but not get again or compare 
    // I need some for loop and get every key value 
    put(skiplist,count,uSys) 
    print count 
    print "\n" 
    count++ 
} 

Может кто-нибудь дать советы по этому, я новичок на этом языке. Заранее спасибо.

EDIT: ТЕПЕРЬ РАБОТАЕТ

pragma runLim,0 
string sep = ";" 
string dbName = getDatabaseName 
print "\n" "List of doors user in database " getDatabaseName ": \n\n" 
int count = 0 
User lUser 

Group lGroup 
Skip skiplist = create 

for lUser in userList do { 
    string uName = lUser.name 
    string uEmail = lUser.email 
    string uSys = lUser.systemLoginName 
    string uAdr = lUser.address 


    if(null uSys) 
    { 
    print uName " doesn't have a System Name.\n" 
    } else { 
    bool flagDuplicate = false 
    string nameDuplicate = "" 
    string s = "" 
    for s in skiplist do { 
     if(s == uSys) { 
     flagDuplicate = true 
     nameDuplicate = (string key skiplist) 
     break 
     } 
    } 

    if(flagDuplicate) print "Users '" uName "' and '" nameDuplicate "' have the same System Name (" uSys ").\n" 
    else put(skiplist,uName,uSys) 

    } 
} 

pragma runLim,0 эта линия для избежания предупреждения о времени выполнения.

ответ

1

Это звучит как то, что вы ищете это:

for lUser in userList do { 
    string uName = lUser.name 
    string uEmail = lUser.email 
    string uSys = lUser.systemLoginName 
    string uAdr = lUser.address 
    outBuf += uName sep uSys sep uEmail sep uAdr 
    outBuf += "\n" 

    if(null uSys) 
    { 
    print uName " doesn't have a System Name.\n" 
    } else { 
    bool flagDuplicate = false 
    string nameDuplicate = "" 
    string s = "" 
    for s in skiplist do { 
     if(s == uSys) { 
     flagDuplicate = true 
     nameDuplicate = (string key skiplist) 
     break 
     } 
    } 

    if(flagDuplicate) print "Users '" uName "' and '" nameDuplicate "' have the same System Name (" uSys ")." 
    else put(skiplist,uName,uSys) 

    print "\n" 
    } 
} 

EDIT: Я добавил чек на пустой uSys, вы можете сделать все, что вы хотите там, если вы хотите просто добавить все пустое в список, а затем распечатать его в конце, который тоже будет работать.

Это должно по крайней мере указывать на вас в правильном направлении.

ПРИМЕЧАНИЕ: У меня нет возможности проверить этот код в настоящее время, поэтому я приношу свои извинения, если есть какие-либо ошибки или опечатки. Но я думаю, что это приблизит вас.

Удачи вам!

+0

Спасибо за ваш ответ, я попробую это решение. Моя цель - получить идентификатор людей из базы данных, и если разные люди имеют одинаковый идентификатор, обнаруживают и распечатывают их на экране. Поэтому я думаю, что сначала я должен переложить всех людей на лыжи. После того, как я начну от начала и до конца, сравните всех друг с другом. Я ошибаюсь ? Есть ли еще более простой способ сделать это? –

+0

Я не уверен, что понимаю, почему разные пользователи имеют одно и то же имя входа в систему. Однако, если вы сталкиваетесь с дублирующимся именем, что вы хотите с ним делать? Вы просто пытаетесь создать список всех уникальных имен системных логинов в базе данных или пытаетесь распечатать какие-либо дубликаты имен? –

+0

Потому что некоторые люди в системе иногда регистрируются в течение двух или какой-то чувствительной к регистру проблемы, поэтому в базе данных есть такие же пользователи loginID. Например: имя пользователя: ssx101 имя: Batuhan BARDAK имя пользователя: ssx101 имя: Batuhan Bardak Итак, когда я пытаюсь login_id с ssx101 login_id, система не может решить, какой пользователь пытается подключиться. Batuhan 'BARDAK'/Batuhan' Bardak' Теперь мне нужно взять все login_id и сравнить, и если есть то же самое, мне нужно распечатать эту информацию login_id на экране. –