我正在尝试使用C修改Sqlite3数据库。我想向从用户输入中获得的"交易"表添加一个新数据。 这就是我尝试做的,但是尝试将用户输入放入字符串时出现错误,稍后可以执行。
char client[MAX],price[MAX],amount[MAX];
printf ("Please enter client ID: n");
scanf("%s",client);
printf ("Please enter price ID: n");
scanf("%s",price);
printf ("Please enter amount in euros: n");
scanf("%s",amount);
char *sql = "INSERT INTO deals(id_client,id_price,euro_amount) VALUES (%s,%s,%s);",client,price,amount;
sqlite3_exec(db, sql, 0, 0, &err_msg);
任何帮助将不胜感激。
你应该准备一个包含正确sql statemnt的字符串,其中一种可能的方法是使用'sprintf'函数:
char sql[1024]; /* make room to hold sql string */
sprintf(sql,"INSERT INTO deals(id_client,id_price,euro_amount)
VALUES (%s,%s, %s);", client,price,amount);