I have a project in Objective-c in which I am trying to find a way of saving the attributedText from a UITextView to a SQLite3 table. My Project Target OS is 12.1. I am using an object called "MMItem" with a NSData property called "notesAttributed". In my viewController Class I am using NSKeyedArchiver to encode the AttributedText into a NSdata format then copying to the object property.
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:self.itemNotes.attributedText requiringSecureCoding:YES error:Nil];
self.item.notesAttributed = data;
I then call a method in my model to save the object
NSString *resultStr = [self.meetingModel saveAttributedItemNote:item];
In the model I'm attempting to save the attributed string to a field in the Item table setup as type 'blob'
- (NSString *)saveAttributedItemNote:(MMItem *)item{
NSString *errorMessage;
NSString *sql;
NSInteger result = 0;
if (item) {
    //create blob encoded data for Attributed notes
    NSInteger itemID = item.itemID;
    
    sql = [NSString stringWithFormat:
    @"UPDATE Item set noteAttributed = %@ WHERE itemID = %ld",item.notesAttributed, (long)itemID];
    
    char *err;
    // open DB and save
    if ([self openDB]){
        //NSLog(@"%@", NSStringFromSelector(_cmd));
        result = sqlite3_exec(db, [sql UTF8String], NULL, NULL, &err);
        sqlite3_close(db);
    }
    
    if (result != SQLITE_OK)
    {
        errorMessage = @"Error";
    }
    else
    {
        //NSLog(@"Table updated");
        errorMessage  = @"OK";
        [self saveAttributedItemNote:item];
    }
    
}
item = nil;
return errorMessage;
}
The SQL Execute statement fails with error 1.
I suspect I'm meant to insert the blob into the table using 'binding' and not an Execute statement but I just find how to put this all together using Objective-c. Any help would be great thanks.