我需要你的帮助..如何从 sqlite db 中删除表中的所有行?请你能说如何一步删除所有行(不是一一)..
问问题
17591 次
5 回答
10
执行此操作的普通 SQL 语法:
DELETE FROM tablename
于 2012-08-23T09:47:29.547 回答
8
对于在 iOS 中删除 sqlite 表行,以下代码
NSString *query = @"delete from yourTable";
const char *sqlStatement = [query UTF8String];
sqlite3_stmt *compiledStatement;
if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {
// Loop through the results and add them to the feeds array
while(sqlite3_step(compiledStatement) == SQLITE_ROW) {
// Read the data from the result row
NSLog(@"result is here");
}
// Release the compiled statement from memory
sqlite3_finalize(compiledStatement);
我想这解决了你的问题
于 2012-08-23T12:46:17.540 回答
4
如果你想从 SQL 表中删除所有行,然后去
DELETE FROM tablename
如果你想一一删除行
DELETE FROM tablename WHERE id=2
根据您的要求更改 id 或者您可以提及特定字段名称以及您要删除的行
于 2012-08-23T11:47:22.520 回答
1
(void) DeleteRows {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSString *dbPath =[documentsDir stringByAppendingPathComponent:@"gym.db"];
BOOL success = [fileManager fileExistsAtPath:dbPath];
sqlite3_stmt *selectstmt;
if(!success)
{
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"gym.db"];
success = [fileManager copyItemAtPath:defaultDBPath toPath:dbPath error:&error];
if (!success)
NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
}
if (sqlite3_open([dbPath UTF8String], &contactDB) == SQLITE_OK) {
//*************** insert value in database******************************\\
NSString *sql = [NSString stringWithFormat:@"delete from Offers"];
const char *insert_stmt = [sql UTF8String];
sqlite3_prepare_v2(contactDB,insert_stmt, -1, &selectstmt, NULL);
if(sqlite3_step(selectstmt)==SQLITE_DONE)
{
NSLog(@"Delete successfully");
}
else
{
NSLog(@"Delete not successfully");
}
sqlite3_finalize(selectstmt);
sqlite3_close(contactDB);
}
}
于 2013-07-05T12:34:24.567 回答
1
- (IBAction)deleteAll:(id)sender {
NSString *tableName=@"Contacts";
NSString *qsql = [NSString stringWithFormat:@"DELETE FROM %@",
tableName];
sqlite3_stmt *statement;
if (sqlite3_prepare_v2( db, [qsql UTF8String], -1,
&statement, NULL) == SQLITE_OK)
while (sqlite3_step(statement) == SQLITE_DONE){
NSLog(@"%@", @"deleted");
}
else {
sqlite3_close(db);
NSAssert(0, @"Failed to Delete");
}
sqlite3_finalize(statement);
}
于 2013-06-07T11:38:56.533 回答