2013-08-18 3 views
-1

안녕하세요, 친구, 대학 졸업을위한 앱을 개발하고 있습니다. 호텔에서 손님들을위한 앱입니다. SQLite로이 앱을 개발, 리뷰 및 전문가 용으로 만 개발하고 있습니다. 좋아, 여기에 내가 가서, 내 애플 리케이션과 내 문제를 노출. 나는xcode에서 SQLite로 로그인 양식을 작성하는 방법은 무엇입니까?

NSObject의 Clientes.h

https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-ash3/556777_10151551691796497_1416281912_n.jpg

Clientes.m를 SQLite는 로그인을위한 양식 전망을, 내가 잘 내가 한 다음 대의원 대표와 SQLite는 매핑 내 응용 프로그램을 연결하려면

https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-ash3/545217_10151551692776497_1449567220_n.jpg

ClientesDAO.h

내 클래스 SQLite는 문 https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-prn1/561311_10151551694516497_2084358913_n.jpg

ClientesDAO.m 선언

내가 SQLite는에 액세스하기위한 명령을 수행 할 곳이

이제 https://fbcdn-sphotos-g-a.akamaihd.net/hphotos-ak-prn2/1186271_10151551698251497_1167100817_n.jpg

,이의 ViewController

내 로그인 폼 입니다

https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak-frc1/578401_10151551701756497_715584886_n.jpg

객체는 여기

https://fbcdn-sphotos-g-a.akamaihd.net/hphotos-ak-ash3/525711_10151551724561497_30550793_n.jpg

- (IBAction)Acceso:(id)sender{ 

    NSInteger psswd = [txtPass.text integerValue]; 

    [dao LogIn:psswd]; 
    ElMenuViewController *viaje = [self.storyboard instantiateViewControllerWithIdentifier:@"ElMenu"]; 

    [self.navigationController pushViewController:viaje animated:YES]; 
} 
, 로그인 폼 텍스트 필드

https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-ash3/q71/s720x720/1185494_10151551713896497_357700394_n.jpg

버튼

https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak-prn1/q71/s720x720/1148956_10151551717261497_1133856952_n.jpg

확인을위한 선언

내 문제는 그 버튼을 만질 때, 내가보기를 변경하지 않았기 때문에, 응용 프로그램이보기 나 문장을 변경하지 않았기 때문에 오류가 발생합니다. 보기를 다른보기로 변경하고 segues 코드로 변경하는 것이 궁금하거나 sqlite를 사용하여 로그인 양식을 만드는 다른 방법을 권해 주시겠습니까? 나쁜 영어로 죄송합니다. Google 통역사 U.U 나를 읽어 주셔서 감사합니다. 감사 : D

+0

실제 코드 샘플을 잘라내어 붙여 넣어야합니다 (예를 들어'Acceso' 메서드에 대한 것과 같이). 화면 스냅 샷에 대한 링크를 사용하지 마십시오. – Rob

답변

0

귀하의 로그인 루틴은 SELECT 문을 수행하고 NSMutableArray에 결과를 추가하지만이 결과에는 아무런 변화가 없습니다. 결과를 확인하고 값 (예 : 로그인 성공 여부를 나타내는 BOOL)을 반환하지 않으시겠습니까? 그리고 Acceso 메서드가 viaje 컨트롤러로 푸시해야하는지 여부를 결정하기 위해이 결과를 확인하지 않으시겠습니까?정확하지

while (sqlite3_step(...) == SQLITE_ROW) 
{ 
    // add objects 
} 

if (sqlite3_step(...) == SQLITE_DONE) 
{ 
    sqlite3_finalize(...); 
    sqlite3_close(bd); 
} 

:


사소한 기술적 인 문제는,하지만 당신은 당신이 while 루프 등 같은 if 문이, 당신의 LogIn 방법에 오류가 있습니다. 추가로 sqlite3_step을 입력하면 안됩니다. 더 나은

while (sqlite3_step(...) == SQLITE_ROW) 
{ 
    // add objects 
} 

sqlite3_finalize(...); 
sqlite3_close(bd); 

또는 : : 그것은해야 내가 오류가 발생할 때

int rc; 
while ((rc = sqlite3_step(...)) == SQLITE_ROW) 
{ 
    // add objects 
} 

if (rc != SQLITE_DONE) 
    NSLog(@"Problem in step: %s", sqlite3_errmsg(bd)); 

sqlite3_finalize(...); 
sqlite3_close(bd); 

주,이 예에서, 나는 sqlite3_errmsg를 기록합니다. 나는 당신이 오류를 발견 할 때마다 당신이 똑같이 할 것을 제안한다. sqlite3_errmsg이 없으면 문제가 무엇인지 알 수 없습니다.

+0

고마워, 내 코드로 어떻게 로그인 폼을 만들 수 있니? u.u 고마워! – Rodrigo

+0

@Rodrigo'LogIn' 메소드를'void' 리턴 타입에서'BOOL' 리턴 타입으로 변경하고 일치하는 레코드를 찾았는지 아닌지에 따라 적절한 값을 반환합니다. 그리고 'Acceso' 메소드는이 리턴 값을 검사해야합니다 새 컨트롤러를 계속 진행할지 또는 로그인 실패 메시지를 표시할지 여부를 결정합니다. – Rob

+0

오케이, 불편을 끼쳐 드려 죄송합니다. UIbutton (acceso) 메서드 대신 조건부 세그먼트를 수행 할 수 있습니까? uu 미안 해요 noob – Rodrigo

관련 문제