C++ 使用Mysql C-API进行C++;代码

C++ 使用Mysql C-API进行C++;代码,c++,mysql,c,database,api,C++,Mysql,C,Database,Api,我正在编写一个C++连接到MySQL DATABASE,我唯一的东西是mysql引用,这里的一切都是C,我想看看是否可以用这个API来代替C++代码? 例如,对于受影响的行,我们有 char *stmt = "UPDATE products SET cost=cost*1.25 WHERE group=10"; mysql_query(&mysql,stmt); printf("%ld products updated", (long) mys

我正在编写一个C++连接到MySQL DATABASE,我唯一的东西是mysql引用,这里的一切都是C,我想看看是否可以用这个API来代替C++代码? 例如,对于受影响的行,我们有

 char *stmt = "UPDATE products SET cost=cost*1.25
              WHERE group=10";
mysql_query(&mysql,stmt);
printf("%ld products updated",
       (long) mysql_affected_rows(&mysql));
cpp也是这样吗

我之所以这么说,是因为C++中有这样的事情,而不是C:

sql::ResultSet  *res;
while(res->next()){
        columnNames[i-1] = res->getString(i);
        i++;
    }

注意,这只是代码

是的,任何C库都可以用在C++代码中。就像在评论中提到的

这只是我的一个项目的代码片段。我想你在找这样的东西

MYSQL_ROW row;

  while ((row = mysql_fetch_row(result))) 
  { 
      for(int i = 0; i < num_fields; i++) 
      { 
        // printf("%s \n", row[i] ? row[i] : "NULL");
         char* new = malloc(100);
         prtid[a]= new;
         strcpy(prtid[a],row[i]);

      } 
      a++;

  }
MYSQL\u行;
while((row=mysql\u fetch\u row(result)))
{ 
对于(int i=0;i

下面是一个例子,如果您想了解更多内容,C++可以调用任何C函数(前提是现在大多数库都声明了
extern“C”
)。
res->getString()
中的数据需要正确的寿命和类型。mysql不理解
std::string
,但是它应该可以工作。感谢您的关注。实际上我正在使用这个[dev.mysql.com/doc/connector cpp/en/]对所有数据库模块进行编码,实际上我被迫使用它。我想知道你是否有任何关于这个的信息,如果我被允许使用这些函数[DeV.MySQL .COM/DOC/ReMMAN/5.7 /En/C-APIOff.html?]而不是C++部分中所讲的内容[DeV.MySQL .COM/DOC/CONPCPP/EN/],为什么还有不同之处呢?他们不应该是一样的吗?我的意思是C++和C@ JoaPixIbor,谢谢你的注意。实际上我正在使用这个代码来编码所有的数据库模块,实际上我不得不使用这个。我想知道你是否有关于这个的信息,如果我被允许使用这些函数而不是C++中所讲的。(为什么有不同的意思?它们不是相同的吗?我的意思是C++和C@ UDAKARAJADAS,我的知识是C和C++是两种不同的语言。但是我们在C++中使用C库是很奢侈的,因为C++是基于C构建的,但是你必须使用C语法。