Iphone 如果我没有从SQLite获得任何记录,我的应用程序就会崩溃
我第一次使用SQlite。。。。 我在DB中查找折扣,一切正常,直到我选择“无”。如果数量(adNumbers)高于或低于DB中指定的数量,则会发生这种情况 然后,当尝试从DB列检索折扣值时,我得到一个错误,应用程序崩溃。我试过做一个空检查,但似乎没有用 我试着用Iphone 如果我没有从SQLite获得任何记录,我的应用程序就会崩溃,iphone,sqlite,select,Iphone,Sqlite,Select,我第一次使用SQlite。。。。 我在DB中查找折扣,一切正常,直到我选择“无”。如果数量(adNumbers)高于或低于DB中指定的数量,则会发生这种情况 然后,当尝试从DB列检索折扣值时,我得到一个错误,应用程序崩溃。我试过做一个空检查,但似乎没有用 我试着用 while(sqlite3\u步骤(compiledStatement)=SQLITE\u行){ 但是我没有得到任何回报 请给我指出正确的方向-我如何检查数据库是否返回任何记录(ADNumber在数据库中的值之间) 这是我的方法 -
while(sqlite3\u步骤(compiledStatement)=SQLITE\u行){
但是我没有得到任何回报
请给我指出正确的方向-我如何检查数据库是否返回任何记录(ADNumber在数据库中的值之间)
这是我的方法
-(NSString*)adDisq:(NSString*)strDISQ:(NSInteger)adNumbers{
NSString *strDiscount;
strDiscount = @"00";
if(adSTMT == nil) {
const char *sql = "SELECT ID, DISCOUNT_TYPE, DESCRIPTION, AD_FROM, AD_TO, AD_DISQ FROM DISCOUNT "
"WHERE (((DISCOUNT_TYPE)=?) AND ((?) Between AD_FROM And AD_TO))";
if(sqlite3_prepare_v2(database, sql, -1, &adSTMT, NULL) != SQLITE_OK)
NSAssert1(0, @"Error while creating detail view statement. '%s'", sqlite3_errmsg(database));
}
sqlite3_bind_text(adSTMT, 1, [strDISQ UTF8String], -1, SQLITE_STATIC);
sqlite3_bind_int(adSTMT, 2, adNumbers);
if(SQLITE_DONE != sqlite3_step(adSTMT)) {
NSLog(@"SELECT went OK, getting rows");
const char *columnText = (const char *)sqlite3_column_text(adSTMT, 5);
if(columnText != NULL){
strDiscount = [NSString stringWithUTF8String:(char *)sqlite3_column_text(adSTMT, 5)];
NSLog(@"Discount: %@", strDiscount);
}
else {
strDiscount = @"00";
}
}
else{
NSAssert1(0, @"Error while getting the discount'%s'", sqlite3_errmsg(database));
}
//Reset the detail statement.
sqlite3_reset(adSTMT);
return strDiscount;
}
问题已解决
NSAssert1(0,@“获取折扣“%s”时出错,sqlite3_errmsg(数据库))
当数据不存在或数据不在指定范围内时,您的应用程序崩溃了??