我在我的xcode项目中实现了sqlite。它从UITextField
获取数据。每次用户点击texField
时,都会以编程方式添加button
。我将重新创造同样的' textField
。 (如何。)如何将textField's
数据提供给sqlie文件?
SQLite
在终端中创建
CREATE TABLE myDB(myDBID integer primary key, first text, second text);
Objective C
NSString *query = [NSString stringWithFormat:@"insert into myDB values(null, '%@', '%@')", self.textView1.text, self.textView2.text];
[self.dbManager executeQuery:query];
//IBAction:
UITextField *text = [[UITextField alloc] initWithFrame:frame];
[self.view addSubview:text];
如何将以编程方式添加的textField's
文本添加到sqlite
数据库?
更新
基本上textFields以编程方式添加了ibaction。我想要做的是获取textFields文本并将其添加到sqlite。我不能像这样添加它:
@"insert into myDB values(null, '%@', '%@')", self.textView1.text, self.textView2.text];
因为我不知道会有多少个textFields,因此我不知道我应该在sqlite中创建多少个字段。 (字段含义 - 第一个文本,第二个文本
答案 0 :(得分:-1)
虽然我不认为这与最佳实践有任何关系,但我相信您需要做的是迭代所有UITextField
并在整个循环中调整查询,除非您想要拆分它多个查询。只要你没有任何无关的UITextField
,这应该有效。订单应尽早添加 - >尽管我不是最新的,所以我会测试它。
NSMutableString *query = [[NSMutableString alloc] initWithString:@"insert into myDB values(null"];
for (id subview in self.view.subviews) {
if ([subview isMemberOfClass: NSClassFromString(@"UITextField")]) {
UITextField *temp = subview;
[query appendFormat:@", '%@'", temp.text];
}
}
[query appendString:@")"];
[self.dbManager executeQuery:query];
修改强>
就更新SQLite表而言,无法动态更改列数。因此,您可以使用逗号分隔的字符串在单个字段中存储多个值,或者创建大量列并将文本字段数限制为该最大值。