我有一个窗体(表视图),其中包含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