以下是关键代码
/*
for (int i = 1; i <= n; i++)
{
res = mysql_query(&myCont, "INSERT INTO `i` (`id`, `name`, `age`, `subject`, `score`) VALUES ('3', 'C', '12', '英语', '100')");//查询
}
*/ //模板
for (int i = 1; i <= n; i++)
{
int id; /*char name[10]*/; int age; /*char subject[10]*/; int score; string name; string subject;
cout << "intput id:"; cin >> id; cout << endl;
cout << "input name:"; getline(cin, name);
cout << "intput sge:"; cin >> age; cout << endl;
cout << "input subject:"; getline(cin, subject);
cout << "intput score:"; cin >> score; cout << endl;
res = mysql_query(&myCont, "INSERT INTO `i` (`id`, `name`, `age`, `subject`, `score`)VALUES (id, 'name', age, 'subject', score)");
//VALUES('3', 'C', '12', '英语', '100')");//查询
}
res = mysql_query(&myCont, "INSERT INTO i
(id
, name
, age
, subject
, score
)VALUES (id, 'name', age, 'subject', score)");
现在问题就是这句怎么改
用字符串拼接方式把变量组合sql语句字符串 然后执行
方法1:用string拼接
string str = "NSERT INTO i (id, name, age, subject, score)VALUES ('";
std::stringstream ss;
std::string str_id;
ss<<id;
ss>>str_id;
str = str + str_id;
...........(照此拼接下去,楼主注意别少拼单引号就行了)
方法2:用sprintf格式化写入
char str[64] = "NSERT INTO i (id, name, age, subject, score)VALUES ('";
char buffer[128] = {0};
int id = 4;
sprintf(buffer, "%s%d',", str, id);
照此写下去。。。。。别忘记拼逗号和单引号什么的