منظمة قانون التطور - Evolution Law Organization
(نسخة قابلة للطباعة من الموضوع)
https://lb-h.mt2academy.com/t2349
أنقر هنا لمشاهدة الموضوع بهيئته الأصلية

[C++] إصلاح مشكلة حذف الشخصية
LooL 11-09-2021 10:45 مساء

مرحبا



اليوم جايبلكم طريقة حل مشكلة حذف الشخصيات



المشكلة باختصار خطأ في إسم الجدول الخاص بالشخصيات المحذوفة



 



سورس السيرفر DB/ClinetManagerPlayer.cpp



 



ابحث عن




snprintf(queryStr, sizeof(queryStr), "INSERT INTO player%s_deleted SELECT * FROM player%s WHERE id=%d", GetTablePostfix(), GetTablePostfix(), pi->player_id);
          std::auto_ptr<SQLMsg> pIns(CDBManager::instance().DirectQuery(queryStr));

          if (pIns->Get()->uiAffectedRows == 0 || pIns->Get()->uiAffectedRows == (uint32_t)-1)
          {
                sys_log(0, "PLAYER_DELETE FAILED %u CANNOT INSERT TO player%s_deleted", dwPID, GetTablePostfix());

                peer->EncodeHeader(HEADER_DG_PLAYER_DELETE_FAILED, pi->dwHandle, 1);
                peer->EncodeBYTE(pi->account_index);
                return;
          }


استبدل بـ




snprintf(queryStr, sizeof(queryStr), "INSERT INTO player_deleted%s SELECT * FROM player%s WHERE id=%d", GetTablePostfix(), GetTablePostfix(), pi->player_id);
          std::auto_ptr<SQLMsg> pIns(CDBManager::instance().DirectQuery(queryStr));

          if (pIns->Get()->uiAffectedRows == 0 || pIns->Get()->uiAffectedRows == (uint32_t)-1)
          {
                sys_log(0, "PLAYER_DELETE FAILED %u CANNOT INSERT TO player_deleted%s", dwPID, GetTablePostfix());

                peer->EncodeHeader(HEADER_DG_PLAYER_DELETE_FAILED, pi->dwHandle, 1);
                peer->EncodeBYTE(pi->account_index);
                return;
          }


ملاحظة



الجدول player والجدول player_deleted لازم كل العناصر فيه تكون متساوية



بمعنى لو فيه عنصر اسمه cheque لازم يتواجد في كل العنصرين عشان تتم عملية نقل البيانات بشكل صحيح



1f601














منظمة قانون التطور - Evolution Law Organization

Powered by PBBoard ©Version 3.0.3