开发者社区> 问答> 正文

MySQL如何用C++通过函数把变量录入到数据库中

以下是关键代码

 /*
        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)");

现在问题就是这句怎么改

展开
收起
a123456678 2016-03-09 13:03:42 2614 0
1 条回答
写回答
取消 提交回答
  • 方法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); 

    照此写下去。。。。。别忘记拼逗号和单引号什么的

    2019-07-17 18:55:49
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像