2 visual studio1 VISUAL_STUDIO1 于 2016.03.19 09:23 提问

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)");
现在问题就是这句怎么改

2个回答

oyljerry
oyljerry   Ds   Rxr 2016.03.19 09:32
已采纳

用字符串拼接方式把变量组合sql语句字符串 然后执行

VISUAL_STUDIO1
VISUAL_STUDIO1 额,可以发代码我参考一下吗
一年多之前 回复
qq423399099
qq423399099   Ds   Rxr 2016.03.19 10:26

方法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); 

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!