MS-SQL 2000 이구요
클라이언트는 한 12개 정도가 연결되어 운영됩니다.
질문의 제목 처럼 테이블에 검색하고자 하는 값이 분명히 저장되어 있는데
검색이 안되는 경우가 있는지요?
RF카드가 리딩되면 카드번호를 이용하여 등록된 사원정보를 검색하여
해당 사원의 이름, 소속 등을 출력하고, 저장 하는 것입니다.
그런데
동일한 카드가 10시10분에 읽혀져서 이름이 저장 되었고,
10시20분에 읽은 것은 이름이 없이 카드번호만 저장되었습니다
그리고 10시25분에 읽은 것은 이름이 저장 되었습니다.
저장된 카드번호는 3건 모두 똑같은 카드번호 입니다.
이런 결과가 여러건 발생되어 어떨때 이렇게 될 수 있는지요?
처음보는 황당한 결과에 당황스럽고, 어이 없지만
실제로 똑 같은카드번호인데 어느때 검색이 되고 안되고 한 다는것이 이해가 안되네요
리더기마다 RF카드가 읽혀지면 아래와 같은 쿼리를 실행하는 클라이언트가 12개 정도 됩니다.
검색에 이용된 쿼리 문은 다음과 같습니다.
' 카드번호로 직접검색되게
' evID$ = RF카드번호
If Right(evID$, 1) = "'" Then
strSQL = "SELECT insa.*, Sosok.* FROM Insa Left Join Sosok on Insa.Insasosok = Sosok.SosokCode " & _
" Where insacard = """ & evID$ & """"
Else
strSQL = "SELECT insa.*, Sosok.* FROM Insa Left Join Sosok on Insa.Insasosok = Sosok.SosokCode " & _
" WHERE InsaCard = '" & evID$ & "' "
End If
Set rsInsa = New ADODB.Recordset
rsInsa.Open strSQL, gAdoDB, adOpenKeyset, adLockPessimistic
'' 첫 쿼리 문에서 검색되지 않은경우 다른 필드에서 검색되도록
If rsInsa.EOF And rsInsa.BOF Then
rsInsa.Close
strSQL = "SELECT insa.*, Sosok.* FROM Insa Left Join Sosok on Insa.Insasosok = Sosok.SosokCode " & _
" WHERE InsaNewCard = '" & evID$ & "' "
rsInsa.Open strSQL, gAdoDB, adOpenKeyset, adLockPessimistic, adCmdText
End If
|