0
버튼을 클릭 할 때 SQLite 테이블 로그인에 데이터를 삽입하고 싶습니다. 등록 버튼을 클릭하면 데이터가 변수에 저장되지만 데이터베이스 테이블에는 저장되지 않습니다. , 그리고 정적으로 값을 전달하려고하면 데이터가 삽입되지만 동적으로 데이터를 저장하려고하면 작동하지 않습니다.동적으로 작동하지 않는 sqlite 테이블에 데이터를 삽입하십시오.
여기 내 코드입니다. 이를 통해이 문제를 해결하십시오. 나는이 작업을 단순화합니다 fmdb이를 사용하는 이유
NSString *path;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask ,YES);
path = [paths objectAtIndex:0];
dbName = [[NSString alloc] initWithString:[path stringByAppendingPathComponent:@"mnc.sqlite"]];
NSFileManager *fileMgr = [NSFileManager defaultManager];
if([fileMgr fileExistsAtPath:dbName]== NO)
{
const char *dbPath = [dbName UTF8String];
if (sqlite3_open(dbPath,&connectionDB)==SQLITE_OK)
{
char *errMsg;
const char *sql_stmt = " create table if not exists login(user_name text ,password text)";
if (sqlite3_exec(connectionDB,sql_stmt,NULL,NULL,&errMsg))
{
printf("\n fail to create table ");
}
sqlite3_close(connectionDB);
}
else
{
NSLog(@"fail to open create database");
}
}
[fileMgr release];
if(sqlite3_prepare_v2(connectionDB, query ,-1, &statment,NULL) == SQLITE_OK)
{
sqlite3_bind_text(statment,1,"cc", -1,SQLITE_TRANSIENT);
sqlite3_bind_text(statment,2,"sa",-1,SQLITE_TRANSIENT);
NSLog(@"aadd");
}
if (sqlite3_step(statment)== SQLITE_DONE)
{
NSLog(@"This should be real error checking!");
sqlite3_finalize(statment);
}