VegQuantity と呼ばれるビュー コントローラーがあり、totalcost=(数量 * 料理のコスト) を実行し、itemname、quantity、totalcost を FINALORDER と呼ばれるデータベース名 FinalOrder と呼ばれるテーブルに挿入します。
sqlite3_stmt *statement;
const char *dbpath = [databasePath UTF8String];
if (sqlite3_open(dbpath, &FinalOrder) == SQLITE_OK)
{
NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO FINALORDER (itemname, quantity, totalcost) VALUES (\"%@\", \"%@\", \"%@\")", itemName.text, input.text, output.text];
const char *insert_stmt = [insertSQL UTF8String];
sqlite3_prepare_v2(FinalOrder, insert_stmt, -1, &statement, NULL);
if (sqlite3_step(statement) == SQLITE_DONE)
{
// status.text = @"Contact added";
// name.text = @"";
// address.text = @"";
// phone.text = @"";
NSLog(@"added");
} else {
NSLog(@"Couldnt add");
}
sqlite3_finalize(statement);
sqlite3_close(FinalOrder);
}
Final View Controllerのviewdidloadメソッド
const char *dbpath = [databasePath UTF8String];
sqlite3_stmt *statement;
if (sqlite3_open(dbpath, &FinalOrder) == SQLITE_OK)
{
NSString *querySQL = [NSString stringWithFormat: @"SELECT * FROM FINALORDER"];
const char *query_stmt = [querySQL UTF8String];
if (sqlite3_prepare_v2(FinalOrder, query_stmt, -1, &statement, NULL) == SQLITE_OK)
{
if (sqlite3_step(statement) == SQLITE_ROW)
{
NSString *itemname = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 0)];
item.text = itemname;
NSString *qua = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 1)];
quantity.text = qua;
NSString *total = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 2)];
totalcost.text=total;
}
sqlite3_finalize(statement);
}
sqlite3_close(FinalOrder);
}
しかし、FinalOrderの前にexpected expressionと呼ばれるこのエラーが発生し続けています.viewdidload内にこのコードを書くのは正しいですか? Final View Controllerにはボタンがありません。Restaurantと呼ばれるView Controllerにorderというボタンがあり、実際にFinal View Controllerが表示されます..Final View Controllerでdbファイルを再度検索することになっていますが、申し訳ありませんが質問漠然としているようですが、簡単に言えば、VegQuantityビューコントローラーに挿入したデータを最終的なビューコントローラーに取得して表示する方法を知りたいだけです