From: Matze B. <mat...@us...> - 2002-03-31 23:25:33
|
Update of /cvsroot/planeshift/planeshift/src/server In directory usw-pr-cvs1:/tmp/cvs-serv5888 Modified Files: psdatabase.cpp psdatabase.h Log Message: result a bit more nicer now :-) Index: psdatabase.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/psdatabase.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** psdatabase.cpp 31 Mar 2002 23:06:19 -0000 1.13 --- psdatabase.cpp 31 Mar 2002 23:25:31 -0000 1.14 *************** *** 173,179 **** mysql->Escape(usernameEsc, username); ! Result result; ! if((result.rs=mysql->Select("select id, password from accounts where username='%s'", usernameEsc)) == NULL) { lasterror.Format("Couldn't execute CheckLogin query.\nCommand was <%s>.\nError returned was <%s>\n",mysql->GetLastQuery(),mysql->GetLastError()); --- 173,180 ---- mysql->Escape(usernameEsc, username); ! Result result (mysql->Select("select id, password from accounts where ! username='%s'", usernameEsc)); ! if(!result.IsValid()) { lasterror.Format("Couldn't execute CheckLogin query.\nCommand was <%s>.\nError returned was <%s>\n",mysql->GetLastQuery(),mysql->GetLastError()); *************** *** 379,391 **** bool psDatabase::GetGuildLevelName(int guild, int level,csString& levelname) { ! Result result; ! ! result.rs = mysql->Select("select level_name " " from guildlevels " " where guild_id=%d " " and level=%d", ! guild, level); ! if (!result.rs) { lasterror = GetLastSQLError(); --- 380,390 ---- bool psDatabase::GetGuildLevelName(int guild, int level,csString& levelname) { ! Result result (mysql->Select("select level_name " " from guildlevels " " where guild_id=%d " " and level=%d", ! guild, level)); ! if (!result.IsValid()) { lasterror = GetLastSQLError(); *************** *** 399,405 **** bool psDatabase::ListGuildMembers(MsgHandler *queue,int guild,int level,int clientnum) { ! Result result; ! ! result.rs = mysql->Select("select a.name, b.level_name " " from players a," " guildlevels b" --- 398,402 ---- bool psDatabase::ListGuildMembers(MsgHandler *queue,int guild,int level,int clientnum) { ! Result result (mysql->Select("select a.name, b.level_name " " from players a," " guildlevels b" *************** *** 408,414 **** " and b.guild_id=a.guild_member_of" " order by 1", ! guild,level); ! if (!result.rs) { lasterror = GetLastSQLError(); --- 405,411 ---- " and b.guild_id=a.guild_member_of" " order by 1", ! guild,level)); ! if (!result.IsValid()) { lasterror = GetLastSQLError(); *************** *** 521,528 **** bool psDatabase::QueryActor(int acctID, char* name, char* fact) { ! Result result; ! ! result.rs = mysql->Select("SELECT name, race FROM players WHERE acct_id=%d", acctID ); ! if (!result.rs) { lasterror = GetLastSQLError(); --- 518,525 ---- bool psDatabase::QueryActor(int acctID, char* name, char* fact) { ! Result result ( ! mysql->Select("SELECT name, race FROM players WHERE acct_id=%d", ! acctID )); ! if (!result.IsValid()) { lasterror = GetLastSQLError(); *************** *** 532,535 **** --- 529,533 ---- { lasterror = "Bug: Player record not found in QueryActor."; + return false; } *************** *** 538,545 **** race = atoi(result[0][1]); ! Result result2; ! ! result2.rs = mysql->Select("SELECT mesh FROM races WHERE race_id=%d", race ); ! if (!result2.rs) { lasterror = GetLastSQLError(); --- 536,541 ---- race = atoi(result[0][1]); ! result = mysql->Select("SELECT mesh FROM races WHERE race_id=%d", race ); ! if (!result.IsValid()) { lasterror = GetLastSQLError(); *************** *** 547,551 **** return false; } ! strcpy(fact ,result2[0]["mesh"]); return true; --- 543,552 ---- return false; } ! if (!result.Count()) ! { ! lasterror = "No Mesh found!\n"; ! return false; ! } ! strcpy(fact, result[0]["mesh"]); return true; *************** *** 555,567 **** { bool result = true; ! Result check; ! ! check.rs=mysql->Select("SELECT * FROM players WHERE acct_id =%d", accountID); // No character was found! ! if ( check.Count() == 0 ) { lasterror = "No Character found!\n"; ! result = false; } --- 556,572 ---- { bool result = true; ! Result check ( ! mysql->Select("SELECT * FROM players WHERE acct_id =%d", accountID)); // No character was found! ! if (!check.IsValid()) ! { ! lasterror = GetLastSQLError(); ! return false; ! } ! if (check.Count() == 0) { lasterror = "No Character found!\n"; ! result = false; } Index: psdatabase.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/psdatabase.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** psdatabase.h 31 Mar 2002 23:06:19 -0000 1.7 --- psdatabase.h 31 Mar 2002 23:25:31 -0000 1.8 *************** *** 111,116 **** --- 111,125 ---- Result() { rs = NULL; }; + Result(iResultSet* resset) : rs(resset) {} ~Result() { if (rs) rs->Release(); }; + bool IsValid() { return rs != NULL; } + + void operator = (iResultSet* resset) + { + if (rs) rs->Release(); + rs = resset; + } + iResultRow& operator[](unsigned long whichrow) { *************** *** 119,123 **** unsigned long Count(void) { return rs->Count(); }; - }; --- 128,131 ---- |