Advertisement
shoiko

SQLite usage

Mar 10th, 2017
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. void URPG_Party::initalizeDataBasePtr(URPG_Database* RPG_DATABASE){
  2. RPG_DATABASE_CONTROLLER = RPG_DATABASE;
  3. }
  4.  
  5. bool URPG_Party::CHECK_DATABASE_PTR(){
  6. if (RPG_DATABASE_CONTROLLER == nullptr){
  7. echo("RPG_DATABASE_CONTROLLER Not initalized");
  8. return false;
  9. }
  10. return true;
  11. }
  12.  
  13. bool URPG_Party::OpenDatabase(FString _DataBase){
  14. if (!CHECK_DATABASE_PTR())return false;
  15. RPG_DATABASE_CONTROLLER->CloseDatabase();
  16. if (RPG_DATABASE_CONTROLLER->OpenDatabase(TCHAR_TO_ANSI(*_DataBase)) == 0)
  17. {
  18. echo(FString("ERROR: Failed to open database: ") + _DataBase);
  19. echo((" Ensure that the disk is not full or write protected. sqliteTest aborted."));
  20. return false;
  21. }
  22. return true;
  23. }
  24.  
  25.  
  26. bool URPG_Party::LoadMapData(int32 MapID){
  27.  
  28. // open database
  29. if (!OpenDatabase(SourceDataBase))return false;
  30. FString SQLQuery = FString("Select Name, Location , LinkBackLocationID , RegionName, Desc from Maps join Regions on Regions.RegionID=Maps.RegionID where MapID=")
  31. + FString::FromInt(MapID)
  32. + ";";
  33. int32 result = RPG_DATABASE_CONTROLLER->BP_Query(SQLQuery);
  34. if (result == 0)
  35. {
  36. error("ERROR: " + SQLQuery);
  37. return false;
  38. }
  39. else{
  40. // attempt to retrieve result data
  41. while (!RPG_DATABASE_CONTROLLER->BP_EndOResult(result))
  42. {
  43. NextMapID = MapID;
  44. NextMapPresistantLevel = RPG_DATABASE_CONTROLLER->BP_GetColumn(result, "Name");
  45. NextMapLocation = RPG_DATABASE_CONTROLLER->BP_GetColumn(result, "Location");
  46. NextMapLinkBackLocationID = FCString::Atoi(*RPG_DATABASE_CONTROLLER->BP_GetColumn(result, "LinkBackLocationID"));
  47. NextMapRegion = RPG_DATABASE_CONTROLLER->BP_GetColumn(result, "RegionName");
  48. NextMapDesc = RPG_DATABASE_CONTROLLER->BP_GetColumn(result, "Desc");
  49. RPG_DATABASE_CONTROLLER->BP_NextRow(result);
  50. }
  51. }
  52. if (result)RPG_DATABASE_CONTROLLER->BP_ClearResult(result);
  53. RPG_DATABASE_CONTROLLER->BP_CloseDatabase();
  54. return true;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement