【发布时间】:2021-04-14 14:58:55
【问题描述】:
我目前正在尝试 C++ 并使用 oracle 的 mysql c api 构建数据库连接。首先它工作正常。
如果我查询像“select username [...] where id=1”这样的 col,我会得到我的结果:
testuser.
但是,如果我尝试“从...中选择 *”,我会得到:
1 //正确的ID
t // 只有第一个字母。
我环顾四周,即使在这里,但无法弄清楚如何获得完整的结果:
1
测试用户
一如既往:感谢您的时间和经验。
纳斯腾
我的代码:
#include "mysql.h"
[...]
sendToLog(_T("Abfrage Starten."));
MYSQL* m_pConn = ConnectToDatabase();
ASSERT(m_pConn != nullptr);
MYSQL_RES *m_pResultSet;
MYSQL_ROW m_mysqlRow;
//Query:
mysql_query(m_pConn, "SELECT * FROM fplaner.user WHERE ll_UserID=1");
//Result speichern
m_pResultSet = mysql_store_result(m_pConn);
//Resultset durchgehen
ASSERT(m_pResultSet != nullptr);
int m_llResCount = mysql_num_fields(m_pResultSet);
if (m_llResCount == 0)
{
sendToLog(_T("ResultSet ist NICHT null aber Leer."));
}
else
{
while ((m_mysqlRow = mysql_fetch_row(m_pResultSet)))
{
for (int i = 0; i < m_llResCount; i++)
{
if (m_mysqlRow == NULL)
{
sendToLog(_T("Ungültiges ResultSet erhalten on COunt: "+i));
}
else
{
sendToLog(_T("Gültiges ResultSet erhalten."));
CString strTest(*m_mysqlRow[i]);
//CString strTest(*m_mysqlRow);--> gives correct name when query with select name
from...
m_mysqlRow
sendToLog((strTest));
}
}
}
}
【问题讨论】:
标签: c++ mysql string resultset