ClearGroup converted to QueryDatabase

This commit is contained in:
Arthur Ice 2014-07-04 19:13:39 -07:00 committed by Arthur Ice
parent 632b9b9c27
commit 137b624008

View File

@ -1816,18 +1816,28 @@ void Database::SetGroupID(const char* name, uint32 id, uint32 charid, uint32 ism
void Database::ClearGroup(uint32 gid) { void Database::ClearGroup(uint32 gid) {
ClearGroupLeader(gid); ClearGroupLeader(gid);
char errbuf[MYSQL_ERRMSG_SIZE]; char *query = nullptr;
char *query = 0;
if(gid == 0) { //clear all groups if(gid == 0)
//if (!RunQuery(query, MakeAnyLenString(&query, "update group_id set groupid=0 where groupid!=0"), errbuf)) {
if (!RunQuery(query, MakeAnyLenString(&query, "delete from group_id"), errbuf)) //clear all groups
printf("Unable to clear groups: %s\n",errbuf); auto results = QueryDatabase(query, MakeAnyLenString(&query, "delete from group_id"));
} else { //clear a specific group safe_delete_array(query);
//if (!RunQuery(query, MakeAnyLenString(&query, "update group_id set groupid=0 where groupid = %lu", gid), errbuf))
if (!RunQuery(query, MakeAnyLenString(&query, "delete from group_id where groupid = %lu", (unsigned long)gid), errbuf)) if (!results.Success())
printf("Unable to clear groups: %s\n",errbuf); std::cout << "Unable to clear groups: " << results.ErrorMessage() << std::endl;
}
return;
}
//clear a specific group
auto results = QueryDatabase(query, MakeAnyLenString(&query, "delete from group_id where groupid = %lu", (unsigned long)gid));
safe_delete_array(query); safe_delete_array(query);
if (!results.Success())
std::cout << "Unable to clear groups: " << results.ErrorMessage() << std::endl;
} }
uint32 Database::GetGroupID(const char* name){ uint32 Database::GetGroupID(const char* name){