Я не могу добавить в свою базу данных sqlite.пожалуйста, порекомендуйте - PullRequest
0 голосов
/ 07 марта 2012
filemgr = [NSFileManager defaultManager];
sqlite3_stmt *insertstatement=nil;

NSString *cruddatabase = [self.GetDocumentDirectory stringByAppendingPathComponent:@"SalaryBook.sqlite"];

sqlite3_open([cruddatabase UTF8String], &SalaryBook);

const char *sql = "insert into contactDB (name, designation, address, phone ,email ,identification, picture, doj) ?, ?,?,?,?,?,?,?";
sqlite3_prepare_v2(SalaryBook, sql, 1, &insertstatement, NULL);

sqlite3_bind_text(insertstatement,0,[theContact.name UTF8String],-1,SQLITE_TRANSIENT);
sqlite3_bind_text(insertstatement,1,[theContact.designation UTF8String],-1,SQLITE_TRANSIENT);
sqlite3_bind_text(insertstatement,2,[theContact.address UTF8String],-1,SQLITE_TRANSIENT);
sqlite3_bind_text(insertstatement,3,[theContact.phoneNumber UTF8String],-1,SQLITE_TRANSIENT);

NSLog(@"%@",theContact.phoneNumber);

sqlite3_bind_text(insertstatement,4,[theContact.emailAddress UTF8String],-1,SQLITE_TRANSIENT);
sqlite3_bind_text(insertstatement,5,[theContact.identificationProof UTF8String],-1,SQLITE_TRANSIENT);

NSData *dataForPicture = UIImagePNGRepresentation(theContact.image);

sqlite3_bind_blob(insertstatement,6,[dataForPicture bytes],[dataForPicture length],SQLITE_TRANSIENT);
sqlite3_bind_text(insertstatement,7,[theContact.dateOfJoining UTF8String],-1,SQLITE_TRANSIENT);

sqlite3_step(insertstatement);
sqlite3_finalize(insertstatement);

sqlite3_close(SalaryBook);    

Я могу читать из базы данных, но ничего не могу записать в нее.

1 Ответ

0 голосов
/ 07 марта 2012

Формат строки вставки: .. INSERT INTO имя_таблицы (столбец1, столбец2, столбец3, ...) ЗНАЧЕНИЯ (значение1, значение2, значение3, ...)

Так замените это в строке (двойные кавычки) и попробуйте ... вставить в contactDB (имя, наименование, адрес, телефон, адрес электронной почты, идентификационный номер, изображение, номер телефона) значения (?,?,?,?,?,?,?,?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...