2013-08-06 1 views
0

일부 상황에 따라 튜플을 제거, 업데이트 또는 삽입하려하지만 작동하지 않습니다. 내가 확인하여 프로젝트의 수에 특정 ESSN 어떤 직원이있는 경우코드가 제대로 작동하지 않습니다 - 오류없이

먼저 내가 볼 :

계수 = cursor2.execute (("? WHERE ESSN = AND PNO = WORKS_ON 구별 ESSN 선택" SSN, ProjectNumber)). 행 개수

내가 반환해야합니다 -1 선택은 아무것도 발견하지 않은 경우 조회하거나 확실 경우 그것은 그러나

0을 반환 내 경우를 found.In 얼마나 많은 튜플 내가 이런 경우 할 경우 - 진술 :

if((ChangeToHours==0) and (count != -1)): 

    print "0" 

    cursor2.execute("Delete FROM Works_On WHERE ESSN = ? AND Pno = ?", SSN, ProjectNumber) 

    print "Removed %s from project %s" %SSN, ProjectNumber 


if((ChangeToHours>0) and (ChangeToHours<=40) and (count != -1)): 

    print "!= -1" 

    cursor2.execute("Update Hours SET Hours= ? WHERE ESSN=? AND Pno =?", ChangeToHours, SSN, 
ProjectNumber) 

    print "Number of hours which employee %s works on project %s successfully changed to %d", SSN, ProjectNunmber,ChangeToHours 

일부 SSN 및 Project Number 및 ChangeToHours = 13을 입력으로 사용하면 후자의 "if"에 들어가야하지만 첫 번째 것은 들어갑니다. 또한, 내 코드는 아무 것도 그것을 인쇄 0 통과, 내가 볼 수있는 일을하지 않습니다. 적어도 "Removed ..."텍스트는 인쇄하지 않습니다.

이 코드를 실행하는 동안 오류가 발생하지 않습니다.

누구든지 아이디어가 있으십니까?

안부, Cenderze

+0

여전히 크게 도움 (난이 진가를 인정받지 못한없는 희망 귀하의 게시물을 해주 관한 정보를 찾을 수 없습니다)를 감사하겠습니다. – Cenderze

답변

0

나는 문제 나 자신을 고정.

이것은 파이썬을 사용하여 만든 첫 번째 작업 이었기 때문에 기본을 간과했다고 생각합니다. ChangedToHours는 float 또는 다른 데이터 유형으로 만들어지지 않았으므로 이러한 비교에서 문제가 발생합니다.

그래서 수정해야하지만 다른 사람에게 유용 할 수 있습니다!

감사 Cenderze