私はデータベースを作成しました。私の見解では、すでに存在しているかどうかを確認しています。存在する場合は再試行します。そうでない場合はいいえ。このために私はこのコードを使用してい...ボタンアクションにデータベースとのデータの比較はどのようにですか?
+(BOOL)compareDataInDB:(NSString *)Start_text EndAddress:(NSString *)End_text Categories:(NSString *)Category_text{
BOOL flag=FALSE;
if(sqlite3_open([dbPath UTF8String], &db) == SQLITE_OK) {
//int LastId="select Max(place_id) from Places";
// NSLog(@"%i",LastId);
const char *sql = "select * from Places where Start_text = Start_text and End_text = End_text and Category_text = Category_text";
sqlite3_stmt *stmt;
int rtnVal = sqlite3_prepare_v2(db, sql, -1, &stmt, NULL);
if(rtnVal == SQLITE_OK) {
while (sqlite3_step(stmt) == SQLITE_ROW) {
flag=TRUE;
}
}
sqlite3_finalize(stmt);
}
sqlite3_close(db);
if(flag==TRUE)
return YES;
else
return NO;
}
私はこのコード
-(IBAction)Find{
BOOL tmp=[GlobalClass compareDataInDB:txtstart.text EndAddress:txtend.text Categories:txtCategory.text];
if(tmp)
[GlobalClass storeDataInDB:txtstart.text EndAddress:txtend.text Categories:txtCategory.text];
else
NSLog(@"exsit data in database");
}
を使用していさて問題は、それは常にノーリターンということです。このコードのエラーは何ですか?そして、どのようにしてデータをデータベースから圧縮するのですか?
事前のおかげで...
(フラグ== TRUE)がYESを返す場合は?これは冗談ですか? –
@Mitch Wheatこれには何がありますか? – iRam11
フラグがTRUEまたはFALSEの場合、それを比較する代わりにフラグを返すのはなぜですか?それは "間違った"部分です –