2012-03-07 3 views
0
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);  

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

+2

Dunno ничего о объективе-c, но не должно быть «VALUES (?,?,? ...' –

+0

измените вашу вставку на одно значение, которое сначала нужно отлаживать. У меня были похожие проблемы некоторое время назад. Я отступил к одной вставке в обеспечить, чтобы все были дый правильный. (т. е. сначала работать с именем). – DJPlayer

+0

Вы не можете использовать coredata? Это проще, и ваш код будет выглядеть чище. https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/CoreData_ObjC/_index.html –

ответ

0

Формат вставки строки является .. INSERT INTO table_name (column1, COLUMN2, колонка3, ...) VALUES (значение1, значение2, value3, ...)

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

+0

благодарит за это. –

Смежные вопросы