Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Test.db is a test database that I created with \"touch test.db\" C/C++ programmi

ID: 3803103 • Letter: T

Question

Test.db is a test database that I created with "touch test.db"

C/C++ programming with sqlite3 (with Week05 Activity - sqlite3 example) Project Description Design and implement C/C++ program (test6.c) to do the following tasks with test db (which you have worked for Week05 Activity), to compile with a Makefile, and to run the program to show each task done. Your program does: (1) add a record (shown below) to test.db, (2) get all the records using select, (3) print the records from (2) to the console, with a heading (e.g., "-----Task1-----") ID = 20 NAME = Luke AGE = 20 ADDRESS = Dallas SALARY = 100000.0 ID = 21 NAME = Matthew AGE = 21 ADDRESS = Piano SALARY = 80000.0 Your C/C++ program (interfacing with sqlite3 in Part1 test.db) will do: update the record (of ID = 20 inserted in Task2) so that the name updated will be "John", get all the records using select and print all the records from select, to the console with a heading for Task2. Provide a Makefile file to compile your program.

Explanation / Answer

Assumptions :
1) You already have "test.db" created into your sqlite3.
2) "COMPANY" table has been created into test.db with below columns :
"ID INT PRIMARY KEY NOT NULL,"
"NAME TEXT NOT NULL,"
"AGE INT NOT NULL,"
"ADDRESS CHAR(50),"
"SALARY REAL );";
3) If you have NOT created above table into your test.db, then please create using below sql :

CREATE TABLE COMPANY("
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL );

------------------------------ANSWERS-------------------------------------------------
1)
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>

static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i<argc; i++){
printf("%s = %s ", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf(" ");
return 0;
}

int main(int argc, char* argv[])
{
sqlite3 *db;
char *zErrMsg = 0;
int rc;
char *sql;

/* Open database */
rc = sqlite3_open("test.db", &db);
if( rc ){
fprintf(stderr, "Can't open database: %s ", sqlite3_errmsg(db));
return(0);
}else{
fprintf(stderr, "Opened database successfully ");
}

/* Create SQL statement */
sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "
"VALUES (20, 'Luke', 20 'Dallas', 100000.0 ); "
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "
"VALUES (21, 'Mathew', 21, 'Plano', 80000.0 ); "
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY);";

/* Execute SQL statement */
rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);
if( rc != SQLITE_OK ){
fprintf(stderr, "SQL error: %s ", zErrMsg);
sqlite3_free(zErrMsg);
}else{
fprintf(stdout, "Records created successfully ");
}
sqlite3_close(db);
return 0;
}

--------------------------------------------------------------------------------------------------

2)
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>

static int callback(void *data, int argc, char **argv, char **azColName){
int i;
fprintf(stderr, "%s: ", (const char*)data);
for(i=0; i<argc; i++){
printf("%s = %s ", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf(" ");
return 0;
}

int main(int argc, char* argv[])
{
sqlite3 *db;
char *zErrMsg = 0;
int rc;
char *sql;
const char* data = "Callback function called";

/* Open database */
rc = sqlite3_open("test.db", &db);
if( rc ){
fprintf(stderr, "Can't open database: %s ", sqlite3_errmsg(db));
return(0);
}else{
fprintf(stderr, "Opened database successfully ");
}

/* Create SQL statement */
sql = "SELECT * from COMPANY";

/* Execute SQL statement */
rc = sqlite3_exec(db, sql, callback, (void*)data, &zErrMsg);
if( rc != SQLITE_OK ){
fprintf(stderr, "SQL error: %s ", zErrMsg);
sqlite3_free(zErrMsg);
}else{
fprintf(stdout, "Operation done successfully ");
}
sqlite3_close(db);
return 0;
}

-------------------------------------------------------------------------------------------

3)
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>

static int callback(void *data, int argc, char **argv, char **azColName){
int i;
fprintf(stderr, "%s: ", (const char*)data);
for(i=0; i<argc; i++){
printf("%s = %s ", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf(" ");
return 0;
}

int main(int argc, char* argv[])
{
sqlite3 *db;
char *zErrMsg = 0;
int rc;
char *sql;
const char* data = "Callback function called";

/* Open database */
rc = sqlite3_open("test.db", &db);
if( rc ){
fprintf(stderr, "Can't open database: %s ", sqlite3_errmsg(db));
return(0);
}else{
   printf("---------------------Task1--------------------- ");
   fprintf(stderr, "Opened database successfully ");
}

/* Create SQL statement */
sql = "SELECT * from COMPANY";

/* Execute SQL statement */
rc = sqlite3_exec(db, sql, callback, (void*)data, &zErrMsg);
if( rc != SQLITE_OK ){
fprintf(stderr, "SQL error: %s ", zErrMsg);
sqlite3_free(zErrMsg);
}else{
fprintf(stdout, "Operation done successfully ");
}
sqlite3_close(db);
return 0;
}

-------------------------------------------------------------------------------------------------

Task 2->1)
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>

static int callback(void *data, int argc, char **argv, char **azColName){
int i;
fprintf(stderr, "%s: ", (const char*)data);
for(i=0; i<argc; i++){
printf("%s = %s ", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf(" ");
return 0;
}

int main(int argc, char* argv[])
{
sqlite3 *db;
char *zErrMsg = 0;
int rc;
char *sql;
const char* data = "Callback function called";

/* Open database */
rc = sqlite3_open("test.db", &db);
if( rc ){
fprintf(stderr, "Can't open database: %s ", sqlite3_errmsg(db));
return(0);
}else{
fprintf(stderr, "Opened database successfully ");
}

/* Create merged SQL statement */
sql = "UPDATE COMPANY set NAME = 'John' where ID=20; "

/* Execute SQL statement */
rc = sqlite3_exec(db, sql, callback, (void*)data, &zErrMsg);
if( rc != SQLITE_OK ){
fprintf(stderr, "SQL error: %s ", zErrMsg);
sqlite3_free(zErrMsg);
}else{
fprintf(stdout, "Operation done successfully ");
}
sqlite3_close(db);
return 0;
}

-----------------------------------------------------------------------------------------------

Task 2->2)

3)
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>

static int callback(void *data, int argc, char **argv, char **azColName){
int i;
fprintf(stderr, "%s: ", (const char*)data);
for(i=0; i<argc; i++){
printf("%s = %s ", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf(" ");
return 0;
}

int main(int argc, char* argv[])
{
sqlite3 *db;
char *zErrMsg = 0;
int rc;
char *sql;
const char* data = "Callback function called";

/* Open database */
rc = sqlite3_open("test.db", &db);
if( rc ){
fprintf(stderr, "Can't open database: %s ", sqlite3_errmsg(db));
return(0);
}else{
   printf("---------------------Task2--------------------- ");
   fprintf(stderr, "Opened database successfully ");
}

/* Create SQL statement */
sql = "SELECT * from COMPANY";

/* Execute SQL statement */
rc = sqlite3_exec(db, sql, callback, (void*)data, &zErrMsg);
if( rc != SQLITE_OK ){
fprintf(stderr, "SQL error: %s ", zErrMsg);
sqlite3_free(zErrMsg);
}else{
fprintf(stdout, "Operation done successfully ");
}
sqlite3_close(db);
return 0;
}

Task 3) We cannot provide attachment to you. I would request you to create this file of your own.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote