2012-02-20 5 views
0

私はiOSにバーコードリーダープロジェクトを持っています...今では読者が '0'で始まる値を読み込むとエラーになります。開始桁が0にならない - iphone

例えば、値 '098876567' - エラー

'トリミングしようとしました。動作していますが、別の問題に直面しています。

それが値を見つけた場合、それは私にエラーを与えているように、「000877667676」

再び値は「0」で始まります。

私はsqlite3を使用しています。 私はそれが非常に基本的な質問ですが、まだ問題があることを知っています。

私のコードは次のとおりです。

NSString *str = ID.text; //here ID field indicates read data from bar code reader 
    int test = [str intValue]; 
    NSLog(@"get clicked"); 

    [self databaseOpen]; 

    NSString *getData = [NSString stringWithFormat:@"SELECT FName,LName FROM Emp WHERE Emp_ID = %d",test]; 

    NSLog(@"getdata %@",getData); 

    NSArray *array = [adddatabase executeQuery:getData]; 
    NSLog(@"array %@" , array); 

    getData = [[array objectAtIndex:0]valueForKey:@"FName"]; 
    NSLog(@"update query:%@",getData); 
    fname.text = [NSString stringWithFormat:@"%@",getData]; 

    NSString *lastname = [[NSString alloc]init]; 
    lastname = [[array objectAtIndex:0] valueForKey:@"LName"] ; 
    NSLog(@"LName: %@",lastname); 
    lname.text=[NSString stringWithFormat:@"%@",lastname]; 

    [adddatabase close]; 
    [adddatabase release]; 
+0

intvalueへのキャストを行い、文字列を保存する場合は、intをstringwithformatの文字列に変換します。 – oriolpons

+0

バーコードをスキャンして取得しようとしているデータはどれですか? – Rushi

+0

IDカードのバーコード番号。 –

答えて

1

あなたには、いくつかのコードを共有することはできますか?また、sqlite3(データベース)がバーコードリーダーで何をしなければならないかを説明してください。バーコードリーダーまたはsqlite3のエラーですか?

先頭にゼロが付いたバーコードを読み込んだり、sqliteデータベースの整数フィールドに格納しようとすると、エラーが発生することが考えられます。バーコードを保存するときは、代わりに文字列(TEXT)を使用することができます。

+0

テキストボックスに読み取られたデータを格納しています。正常です...問題はSQLクエリです –

+1

データベースのINTEGER型ですか?それも先行ゼロを受け入れません、あなたはどこでも文字列を使用する必要があります。クエリでは、依然として整数 "%d"を追加します。値がStringの場合は、代わりに%@を持つStringとしてクエリに入れます。 – ophychius

+0

私は同じことをしています...私は整数だけでそれを保存しました...しかし、整数値が '0'から始まって、error.which sqlクエリを使用しなければならないとき、どのような問題がありますか? –

関連する問題