以下是关键代码
/*
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)");
现在问题就是这句怎么改
方法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);
照此写下去。。。。。别忘记拼逗号和单引号什么的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。