Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 根据日期删除行_Ios_Objective C_Sqlite - Fatal编程技术网

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对我起作用了!正是我在寻找的!