我有一個窗體(表視圖),其中包含textfields和textview作爲子視圖,我需要保存數據填充在這些fields.Hence我用sqlite3.Everything工作正常,保存檢索和顯示保存的數據。但在表格視圖中,我有一個單元格包含一個按鈕作爲子視圖。我們知道iphone中沒有複選框按鈕的概念。因此,我使用按鈕並添加了默認圖像作爲子視圖如下所示:將圖像存儲到sqlite3數據庫
當未選中按鈕時,圖像不變。
現在,如果用戶選擇的按鈕圖像更改爲複選標記表明該邏輯每年工作原理如圖所示如下所示:
現在我的問題是我怎麼能保存按鈕中sqlite3.I圖像已經使用下面的查詢中插入值:
NSString *insertSQL = [NSString stringWithFormat:@"INSERT INTO reminders(name,event,date,tim,bfr,num,bod,grp) VALUES (\"%@\", \"%@\", \"%@\", \"%@\", \"%@\",\"%@\", \"%@\", \"%@\")", fieldOne.text, fieldTwo.text,fieldThree.text,fieldFour.text,fieldFive.text,fieldSix.text,textView.text,fieldSeven.text];
同樣我怎麼可以保存按鈕,圖像作爲子視圖中sqlite3.I聽說有像BOOL沒有概念在SQL值存儲ite3.Instead它被存儲爲INT值,即「0」作爲假和「1」作爲true.Hence我用下面的查詢插入按鈕圖像:
int selValue;
if(checkboxSelected == NO)
{
selValue = 0;
}
else if(checkboxSelected == YES)
{
selValue = 1;
}
NSString *insertSQL = [NSString stringWithFormat:@"INSERT INTO reminders(name,event,date,tim,bfr,val,num,bod,grp) VALUES (\"%@\", \"%@\", \"%@\", \"%@\", \"%@\", \"%@\",\"%@\", \"%@\", \"%@\")", fieldOne.text, fieldTwo.text,fieldThree.text,fieldFour.text,fieldFive.text,isSelected,fieldSix.text,textView.text,fieldSeven.text];
在控制檯中selValue是越來越顯示爲1如果按鈕被選中,則爲0,否則爲0。
但我有一個名爲視圖編輯提醒的控制器頁面,用戶可以在其中查看保存的提醒並編輯發生的更改。現在,我保存了一個名爲Amma的提醒,在保存時我已選擇了「每年」按鈕,但儘管如下所示插入的提醒是越來越檢索的數據其不工作:
編輯:
我已經用於檢索從sqlite3的數據庫表中的數據來實現的代碼:
ReminderClass *remind = [[ReminderClass alloc]init];
remind.Name = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 1)];
remind.Event = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 2)];
remind.Date = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 3)];
remind.time = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 4)];
remind.numDays = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 5)];
remind.selString = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 6)]];
remind.number = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 7)];
remind.msgBody = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 8)];
remind.remGroup = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 9)];
編輯:
這是我所做的編輯內容:
-(void)tableView:(UITableView *)atableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (aTable.editing)
{
ReminderClass *rem = (ReminderClass *)[self.monthArray objectAtIndex:indexPath.section];
// Instantiate your detail/editor view controller,
// and pass in the ReminderClass object to be edited.
ERAddReminderViewController *rdvc = [[[ERAddReminderViewController alloc]initWithReminder:rem]autorelease];
[self.navigationController pushViewController:rdvc animated:YES];
}
[atableView deselectRowAtIndexPath:indexPath animated:YES];
}
請幫我出您寶貴的建議
感謝所有提前:)
你有保存一年選擇值在你的sqllite數據庫中是0還是1? – Hiren 2012-01-09 05:15:10
@ hiren443是的,我已經存儲了選擇值 – 2012-01-09 05:19:35
顯示你的顯示代碼編輯你的剩餘部分 – Hiren 2012-01-09 05:22:48