0
私は正しい値を出力し、このsqliteのインサートが
- (void)insertBlogStory:(NSString *)storyTitle link:(NSString *)link storyDescription:(NSString *)storyDescription storyHTML:(NSString *)storyHTML pubDate:(NSString *)pubDate blog:(NSString *)blog {
NSLog(@"storyTitle %@",storyTitle);
NSLog(@"link %@",link);
NSLog(@"storyDescription %@",storyDescription);
NSLog(@"storyHTML %@",storyHTML);
NSLog(@"pubDate %@",pubDate);
NSLog(@"blog %@",blog);
if(addStmt == nil) {
const char *sql = "insert into contents (storyTitle, link, storyDescription, storyHTML, pubDate, blog, read) VALUES (?, ?, ?, ?, ?, ?, ?)";
if(sqlite3_prepare_v2(_database, sql, -1, &addStmt, NULL) != SQLITE_OK)
NSAssert1(0, @"Error while creating add statement. '%s'", sqlite3_errmsg(_database));
}
sqlite3_bind_text(addStmt, 1, [storyTitle UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 2, [link UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 3, [storyDescription UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 4, [storyHTML UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 5, [pubDate UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 6, [blog UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_int(addStmt, 7, 0);
if(SQLITE_DONE != sqlite3_step(addStmt))
NSAssert1(0, @"Error while inserting data. '%s'", sqlite3_errmsg(_database));
sqlite3_reset(addStmt);
}
を挿入しようとしているがmethiod sqliteの表は、この
のように見えますstoryTitle -> Converged Security
link -> http://...converged-security.html
storyDescription -> Cyber-crime is not new....etc
storyHTML -> <p>Cyber-crime is not new....etc
pubDate -> Thu, 01 Sep 2011 10:52:57 +0100
blog -> Business continuity
に送信されます
TABLE "contents" (
"id" INTEGER PRIMARY KEY,
"storyTitle" TEXT,
"link" TEXT,
"storyDescription" TEXT,
"storyHTML" TEXT,
"pubDate" DATETIME,
"blog" TEXT,
"read" INTEGER,
"storyVideo" TEXT,
"storyVideoThumb" TEXT,
"storyAudio" TEXT,
"issueA" TEXT,
"industryA" TEXT,
"serviceA" TEXT,
"contactName" TEXT,
"contactPhone" TEXT,
"contactAddress" TEXT,
"contactPhrase" TEXT,
"contactPhraseEmail" TEXT,
"contactPhraseName" TEXT
);
これは挿入されたものです
"storyTitle" correct string
"link" correct string
"storyDescription" correct string
"storyHTML" correct string
"pubDate" correct string
"blog" is always NULL
"read" is always NULL
"storyVideo" gets the blog string (Business continuity)
"storyVideoThumb" gets the read value (0)
間違ったフィールドに最後の2つの値を挿入するのはなぜですか?
名声と栄光(およびポイント)のためのTIA
私はobjectivecについて何も知りませんが、あなたはどこか別の場所に 'addStmt'を宣言していますか?もしそうなら、他の場所でも定義されていないと確信していますか? –
静的sqlite3_stmt * addStmt = nil;私は完全な出力を表示するために質問を修正しました。この挿入は、ちょうど最後の2つの値が間違ったフィールド – JulianB
に入り、addStmtを使用する他の同様の挿入ルーチンを持っていないことになりますか? –