2011-11-09 15 views
3

こんにちは私はUserName(char *)とUITextFieldのUserName(NSString *)を比較しています。これを行う方法。続き は私のコードchar *とNSStringを比較するには?

if ([UserName isEqual:(char *)sqlite3_column_text(statement, 0)]) { 

    NSLog(@"User Already Exists."); 
    flag = YES; 
    return; 
} 

あるしかし、私は、データベースと同じユーザー名を与えるのにそれがループに入ることはありません。

答えて

9

あなたが持っているNSStringと仮定します。

NSString *userName = @"SomeOnesName"; 

DBからC-文字列を取得し、NSStringのに変換します。

NSString *userNameFromDB = [NSString stringWithCString:sqlite3_column_text(statement, 0) encoding:NSUTF8StringEncoding]; 

今比較します。

if ([userName isEqualToString:userNameFromDB]) { 
+0

エンコードの潜在的な問題は無視しています。 – JeremyP

+0

@JeremyP、それを指摘してくれてありがとう。私はまだそれをやっていますか? – EmptyStack

+0

UTF-8でデータベースにある限り、それははるかに良い:) – JeremyP

関連する問題