如何使用C++中的变量进行sql_query
How to do a sql_query with a variable in C++?
我正在尝试从数据库中动态获取不同的值,因此我需要在我的mysql_query中放置一个变量。
#include <cstdlib>
#include <iostream>
#include <mysql.h>
#include <string>
#include <sstream>
using namespace std;
MYSQL* ConnexionSql()
{
MYSQL* conn;
conn = mysql_init(0);
conn = mysql_real_connect(conn, "localhost", "root", "ADAI1819", "projetADAI", 3306, NULL, 0);
return conn;
}
int NbCompo() //Without any variable this work perfectly
{
MYSQL* conn = ConnexionSql();
MYSQL_RES *res_set;
MYSQL_ROW row;
mysql_query(conn, "select NbCompo from Envoi");
res_set = mysql_store_result(conn);
row = mysql_fetch_row(res_set);
string chaine = row[0];
int result = std::stoi(chaine);
return result;
}
int NbProduit(string x) //And here is my problem
{
MYSQL* conn = ConnexionSql();
MYSQL_RES *res_set;
MYSQL_ROW row;
x = "Select " + x + " from Envoi";
mysql_query(conn, x.c_str());
res_set = mysql_store_result(conn);
row = mysql_fetch_row(res_set);
string chaine = row[0];
int result = std::stoi(chaine);
return result;
}
它构建完美,但是当我运行它时,我收到此消息"在ProjectADAI中0x00007FFFF7C1BD66(libmysql.dll(引发异常.exe:0xC0000005:读取位置0x0000000000000010时访问冲突。(这是一个翻译,我是法语,请原谅我的英语(。
mysql_real_connect
可能返回 null。您需要检查结果是否为 null,然后调用 mysql_error
以发现错误代码。
相关文章:
- 如何使用c++在VS 2019上运行SQL查询
- System.InvalidCastException - SQL to C++ - safe_cast<float>
- 在C++中调用 MS SQL 存储过程
- 尝试创建表会给出 SQL 逻辑错误
- 在 MySQL/Connector C++中使用 SQL 联接
- Qt PL/SQL - 赋值运算符 - 字符串缓冲区太小
- PostgresSQL - SQL Ready 语句与字符串转义,防止 SQL 注入攻击
- 在 Microsoft Access SQL 中调用自定义 DLL 函数时传递的内存地址无效
- 使用 SQLConfig数据源创建 SQL Server DSN 失败:关键字-值对无效
- 使用 Qt5 SQL 进行异步数据库访问的策略
- Qt/SQL - 从 QSqlQuery exec Stored Procedure 获取列类型和名称?
- 如何将QTime保存在SQL Server Express表中并读回?
- 为 Sql 服务器实现 odbc 包装器.将数据库数据读取为字符或要求驱动程序将数据转换为 C 类型
- 使用 python 或 c ++ 中的 sql 根据输入数据输出输出示例
- 无法使用 SQL VDI(虚拟设备接口)创建条带化备份
- sql记录集函数的状态设计模式
- Qt SQL LIKE语句返回错误
- QT:在变量中保存SQL-Query的结果,在SQL Query中使用C 变量
- C++ Borland Builder 6 SQL Query
- sql server语言 - SQL INSERT INTO query C++