0

アプリケーションで SQL 準備済みステートメントを使用しています。

ステートメントは適切に準備され、適切に実行されます。その後、テーブルを見ると、エントリがありません。

コードスニペット:

void DirEntTable::do_init()
{
    m_insertIntoSrvrEntTable.setStatement("INSERT INTO " + tableName() + " (entKey,        srvrType, serverID, serverEntID) VALUES (" + entKeyField + ", " + srvrTypeField + ", " + serverIDField + ", " + serverEntIDField + ")");
    m_insertIntoSrvrEntTable.setConnection(m_db);
    if ((rc = m_insertIntoSrvrEntTable.prepare()) != SQLITE_OK)
    {
        LOGDEBUG("DirEntTable", "insertIntoSrvrEntTable prepare failed (%d) table %s\n", rc, tableName().c_str());
    }
}

eErrorT DirEntTable::insertIntoSrvrEntTable(const int entryId, const int serverType,
                                        const std::string &serverID, const std::string &serverEntID)
{
LOGDEBUG(__FUNCTION__, "\nvalues : entryId = %d, serverType = %d, serverID = %s, serverEntID =%s\n",entryId,serverType,serverID.c_str(),serverEntID.c_str());
    eErrorT rc = kNoError;
m_insertIntoSrvrEntTable.bindInt(entKeyField, entryId);
m_insertIntoSrvrEntTable.bindInt(srvrTypeField, serverType);
m_insertIntoSrvrEntTable.bindText(serverIDField, serverID);
m_insertIntoSrvrEntTable.bindText(serverEntIDField, serverEntID);
if (!m_insertIntoSrvrEntTable())
{
    rc = kFuncReturnedError;
}
m_insertIntoSrvrEntTable.reset();
return rc;
}

出力:

値: entryId = 46、serverType = 2、serverID = gds0、serverEntID =gds:330

query "INSERT INTO gdsEntries (entKey, srvrType, serverID, serverEntID) VALUES (:entKey, :srvrType, :serverID, :serverEntID)"

何が間違っているのかを理解するのを手伝ってください。

4

0 に答える 0