Ios 根据日期删除行
嗨,这可能有一个简单的答案,我只是在努力理解如何处理它 我创建一个表,其中包含:Ios 根据日期删除行,ios,objective-c,sqlite,Ios,Objective C,Sqlite,嗨,这可能有一个简单的答案,我只是在努力理解如何处理它 我创建一个表,其中包含: "CREATE TABLE IF NOT EXISTS PERSONS (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, AGE INTEGER, DT DATETIME DEFAULT CURRENT_TIMESTAMP)"; 我试图根据姓名、年龄和注册日期删除一个人,以避免删除一个恰好与另一个人姓名和年龄相同的人(因此,应区分当前日期) delete语句是
"CREATE TABLE IF NOT EXISTS PERSONS (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, AGE INTEGER, DT DATETIME DEFAULT CURRENT_TIMESTAMP)";
我试图根据姓名、年龄和注册日期删除一个人,以避免删除一个恰好与另一个人姓名和年龄相同的人(因此,应区分当前日期)
delete语句是:
[NSString stringWithFormat:@"Delete from persons where name is '%s','%s'",[p.name UTF8String],[p.date UTF8String]]];
我遇到的问题是“%s”不能与日期匹配,因为它没有删除任何数据
谢谢您的帮助。首先,我建议您在sql环境中尝试您的查询,您可以找出语法中是否有任何错误。对我来说,您似乎应该使用%@而不是%s。在C中使用%s,在objective-C中使用%@看看这个。我认为您与delete语句相差甚远。我t应该更像:
[NSString stringWithFormat:@"Delete from PERSONS where NAME = \"%@\" and DT = \"%@\"", p.name, p.date];
人员和姓名需要大写,因为这是您在创建中定义它们的方式。您的p.data需要与sqlite存储日期的方式相对应。这应该对您有所帮助。请检查此答案,这样我就看不出此问题为什么不是正确的问题,以及为什么应该关闭它。好吧,不管怎样-danypata发布的链接主题他的评论应该会让你更进一步。%s有用它对DateThank不起作用谢谢@HalR对我起作用了!正是我在寻找的!