2013-11-21 4 views
2

나는 이것에 대한 우아한 해결책을 찾는 데 어려움을 겪고 있습니다. SQLite db가있는 코로나를 사용하여 응용 프로그램을 만들고 있습니다. db의 열 중 하나는 부울입니다. 나는 SQLite가 true 또는 false에 대해 1 또는 0을 사용한다는 것을 알고 있습니다. 또한 루아는 false 또는 nil이 아닌 모든 것을 사실로 평가한다는 것도 알고 있습니다.루아에서 SQLite 부울 값

직접 할 필요없이 루아에서와 같이 참 또는 거짓 SQLite는 부울을 평가 할 수있는 방법이 있나요 : 내가 할 수 있기 때문에 나는이 느낌

if(myVariable == 1) 

테이블에서 부울 열을 갖는 목적을 패배 myVariable과 다른 것을 비교하십시오. 다음과 같이 쓸 수 있습니다.

if(myVariable) 

방법이 있습니까? 지금 내 유일한 옵션은 1을 true로 저장하고 거짓으로 두는 것입니다 (null).

답변

2

SQLite에는 별도의 부울 스토리지 클래스가 없습니다. 따라서 Lua가 데이터베이스에서 열을 읽을 때 값이 숫자가 아닌 부울이되도록 결정할 수 없습니다. BTW

때 루아 부울은 bind 방법 중 하나를 사용 lsqlite3 저장 그것을 루아 부울 저장하고자하고, 정수 0 (false) 및 1- (true)의 값으로 변환하는 것이 주목한다.

루아에서 프로그래밍 중이므로 루아가 숫자를 숫자로 취급한다는 사실을 받아 들여야합니다. 부울은 아닙니다. 내 추천은 당신이 루아의 부울 (boolean)을 데이타베이스에서 읽은 직후에 숫자로 변환한다는 것이다.