1
0

sql.cpp 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #include "sql.h"
  2. // select count(*) from $table_name where $where;
  3. void sql_count(std::string& sql, const char* table_name, const char* where) {
  4. sql = "select count(*) from ";
  5. sql += table_name;
  6. if (where) {
  7. sql += " where ";
  8. sql += where;
  9. }
  10. sql += ';';
  11. }
  12. // select $keys from $table_name where $where limit $limit order by $column ASC|DESC;
  13. void sql_select(std::string& sql, const char* table_name, const char* keys, const char* where, const KeyVal* options) {
  14. sql = "select ";
  15. if (keys) {
  16. sql += keys;
  17. }
  18. else {
  19. sql += '*';
  20. }
  21. sql += " from ";
  22. sql += table_name;
  23. if (where) {
  24. sql += " where ";
  25. sql += where;
  26. }
  27. if (options) {
  28. for (KeyVal::const_iterator iter = options->begin(); iter != options->end(); ++iter) {
  29. sql += ' ';
  30. sql += iter->first;
  31. sql += ' ';
  32. sql += iter->second;
  33. }
  34. }
  35. sql += ';';
  36. }
  37. // insert into $table_name ($keys) values ($values);
  38. void sql_insert(std::string& sql, const char* table_name, const char* keys, const char* values) {
  39. sql = "insert into ";
  40. sql += table_name;
  41. if (keys) {
  42. sql += " (";
  43. sql += keys;
  44. sql += ')';
  45. }
  46. if (values) {
  47. sql += " values ";
  48. sql += '(';
  49. sql += values;
  50. sql += ')';
  51. }
  52. sql += ';';
  53. }
  54. // replace into $table_name ($keys) values ($values);
  55. void sql_replace(std::string& sql, const char* table_name, const char* keys, const char* values) {
  56. sql = "replace into ";
  57. sql += table_name;
  58. if (keys) {
  59. sql += " (";
  60. sql += keys;
  61. sql += ')';
  62. }
  63. if (values) {
  64. sql += " values ";
  65. sql += '(';
  66. sql += values;
  67. sql += ')';
  68. }
  69. sql += ';';
  70. }
  71. // update $table_name set $set where $where;
  72. void sql_update(std::string& sql, const char* table_name, const char* set, const char* where) {
  73. sql = "update ";
  74. sql += table_name;
  75. if (set) {
  76. sql += " set ";
  77. sql += set;
  78. }
  79. if (where) {
  80. sql += " where ";
  81. sql += where;
  82. }
  83. sql += ';';
  84. }
  85. // delete from $table_name where $where;
  86. void sql_delete(std::string& sql, const char* table_name, const char* where) {
  87. sql = "delete from ";
  88. sql += table_name;
  89. if (where) {
  90. sql += " where ";
  91. sql += where;
  92. }
  93. sql += ';';
  94. }