prepare_statement.lua 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. local result = require("mysql.result")
  2. local mysql_prepare_statement = {}
  3. mysql_prepare_statement.__index = mysql_prepare_statement
  4. --[[
  5. 创建一个新的 fw_mysql_prepare_statement 对象
  6. @return 返回一个新的 fw_mysql_prepare_statement 对象
  7. ]]
  8. function mysql_prepare_statement.new(__module)
  9. local instance = setmetatable({}, mysql_prepare_statement)
  10. instance.module =__module
  11. return instance
  12. end
  13. --[[
  14. 设置 bigint 类型的参数
  15. @param index 参数索引
  16. @param value 参数值
  17. ]]
  18. function mysql_prepare_statement:set_bigint(index, value)
  19. self.module:set_bigint(index, fw_toint(value))
  20. end
  21. --[[
  22. 设置 boolean 类型的参数
  23. @param index 参数索引
  24. @param value 参数值
  25. ]]
  26. function mysql_prepare_statement:set_boolean(index, value)
  27. self.module:set_boolean(index, value)
  28. end
  29. --[[
  30. 设置 datetime 类型的参数
  31. @param index 参数索引
  32. @param value 参数值
  33. ]]
  34. function mysql_prepare_statement:set_datetime(index, value)
  35. self.module:set_datetime(index, value)
  36. end
  37. --[[
  38. 设置 double 类型的参数
  39. @param index 参数索引
  40. @param value 参数值
  41. ]]
  42. function mysql_prepare_statement:set_dob(index, value)
  43. self.module:set_dob(index, value)
  44. end
  45. --[[
  46. 设置 int32 类型的参数
  47. @param index 参数索引
  48. @param value 参数值
  49. ]]
  50. function mysql_prepare_statement:set_i32(index, value)
  51. self.module:set_i32(index, fw_toint(value))
  52. end
  53. --[[
  54. 设置 int64 类型的参数
  55. @param index 参数索引
  56. @param value 参数值
  57. ]]
  58. function mysql_prepare_statement:set_i64(index, value)
  59. self.module:set_i64(index, fw_toint(value))
  60. end
  61. --[[
  62. 设置 null 类型的参数
  63. @param index 参数索引
  64. ]]
  65. function mysql_prepare_statement:set_null(index)
  66. self.module:set_null(index)
  67. end
  68. --[[
  69. 设置字符串类型的参数
  70. @param index 参数索引
  71. @param value 参数值
  72. ]]
  73. function mysql_prepare_statement:set_str(index, value)
  74. self.module:set_str(index, value)
  75. end
  76. --[[
  77. 设置 blob 类型的参数
  78. @param index 参数索引
  79. @param value 参数值
  80. ]]
  81. function mysql_prepare_statement:set_blob(index, value)
  82. self.module:set_blob(index, value)
  83. end
  84. --[[
  85. 清空所有参数
  86. ]]
  87. function mysql_prepare_statement:clear()
  88. self.module:clear()
  89. end
  90. --[[
  91. 执行 update 操作
  92. @return 返回受影响的行数
  93. ]]
  94. function mysql_prepare_statement:update()
  95. return self.module:update()
  96. end
  97. --[[
  98. 执行 query 操作
  99. @return 返回 mysql_result 对象
  100. ]]
  101. function mysql_prepare_statement:query()
  102. return result.new(self.module:query())
  103. end
  104. return mysql_prepare_statement