使用MySQL .h解决:C++中的查询结果(CString) IM目前正在尝试C++和构建数据库连接。首先,它工作得很好。 如果我查询selectusername[…]这样的列,其中id=1,我将得到我的结果:testuser。 但如果我试着从…中选择*。。。我会得到: 1//正确的ID t//只有第一个字母
即使在这里,我看起来也有点自大,但我无法找到一个完整的结果: 1. 测试用户 一如既往:谢谢你的时间和经验 纳斯滕 我的代码:使用MySQL .h解决:C++中的查询结果(CString) IM目前正在尝试C++和构建数据库连接。首先,它工作得很好。 如果我查询selectusername[…]这样的列,其中id=1,我将得到我的结果:testuser。 但如果我试着从…中选择*。。。我会得到: 1//正确的ID t//只有第一个字母,c++,mysql,string,resultset,C++,Mysql,String,Resultset,即使在这里,我看起来也有点自大,但我无法找到一个完整的结果: 1. 测试用户 一如既往:谢谢你的时间和经验 纳斯滕 我的代码: #include "mysql.h" [...] sendToLog(_T("Abfrage Starten.")); MYSQL* m_pConn = ConnectToDatabase(); ASSERT(m_pConn != nullptr); MYSQL_RES *m_pResultSet;
#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));
}
}
}
}
问题解决了:
结果集是指针上的字符指针。通过将其与*解除引用,仅当强。因此,如果没有它,效果很好:
更改CString strTest*m_mysqlRow[i];到CString strestm_mysqlRow[i]。它将按预期工作