SRombauts / SQLiteCpp

SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper.
http://srombauts.github.io/SQLiteCpp
MIT License
2.22k stars 508 forks source link

Parameterized Query inside the `datetime` function #376

Open robonetphy opened 1 year ago

robonetphy commented 1 year ago

Hey There, It been long time since we are using your library, but I have one query for you that is it possible to add parameterize internal function of sqlite like as follow:

  // Define Queries
  std::string insert_counting_log_query = "INSERT INTO log VALUES (NULL, :job_name, :part_name,\n"
       ":batch_name,   datetime('now','-:time_passed second', 'localtime'), datetime('now', 'localtime'));";
  // need to note batch start and end time.
  // end time can be note with datetime('now','localtime')
  // for start time I have number of seconds before the job started as passed time
  // looking for feature like datetime('now','-:time_passed second', 'localtime')
dougnazar commented 1 year ago

This should already work. However, you can't pass in a parameter into a string, but you can pass in the full string.

Something like

INSERT INTO log VALUES (NULL, :job_name, :part_name,
       :batch_name, datetime('now', :time_passed, 'localtime'), datetime('now', 'localtime')

then bind with

query.bind("time_passed", "-30 second");
robonetphy commented 1 year ago

@dougnazar Thanks for the solution. My doubts are resolved. @SRombauts Pls let me know if you are planning for these enhancements.