相當新的sqlite(和sql)。我有幾個表,我需要與幾個列名稱,可以改變我的代碼(在C + +)生成。我如何管理它們?我做對了嗎?在那裏必須有實用程序代碼,這要好得多。sqlite表代碼管理器?
編輯:特別是,我想通過在編譯時抽象表和字段名稱來避免運行時錯誤(例如使用#define,但也許別的更好)。
E.g.我目前正在考慮創建一個類TableHandler,它將:
sqlite *db;
....
TableHandler tb("TableName");
tb.addField("FirstName", "TEXT");
tb.addField("Id", "INTEGER");
tb.createTable(db); //calls sqlite3_exec("create table TableName(FirstName TEXT, Id INTEGER)");
tb.setEntry("FirstName", "bob");
tb.addEntry(); //calls sqlite3_exec("insert ...");
tb.createCode(stdout);
//this will generate
/*
#define kTableName "TableName"
#define kFirstName "FirstName"
#define kId "Id"
...anything else useful?
*/
你說的共享代碼是什麼意思?有沒有理由不寫'CREATE TABLE'語句? – mikerobi
我想要一個摘要,以便我可以輕鬆調整表格,以便根據需要調整表格(甚至可以重命名錶格或字段)。 E.g. tb.setEntry(「FirstOppsName」,「bob」); //字段不存在。我如何在編譯時防止這些問題? tb.setEntry(kFirstName,「bob」); //這是一個解決方案。 – jobobo