注册 登录
编程论坛 C++教室

数据库封装的问题

rohalloway 发布于 2018-11-04 19:33, 1759 次点击
程序代码:

bool CSql::m_delete(string table, string columnName, string value)
{
    string str = "delete " + table + " where " + columnName + "=" + value;
    ...
}

m_delete("Table1", "Lie1", "10");


调用m_delete("Table1", "lie1", "10")后 str = "delete Table1 where Lie1 = 10"

我的问题是,如何才能设计出更通用的函数?

在操作数据库时,经常需要多个where条件,比如: delete Table1 where Lie1 = 10 and Lie2 = 88

此时where需要2个列的名字和2个value值来定位,请问前辈们一般如何处理这种参数数量不是固定的函数?

我想到了重载delete函数,但似乎不行。  参数要使用map吗? 有没有更好的办法?

这个问题在insert语句里更明显了,insert有时要10多个字段,请前辈们指点一下,谢谢

问题可能描述的不太清楚,抱歉

[此贴子已经被作者于2018-11-4 19:40编辑过]

2 回复
#2
rohalloway2018-11-05 08:49
思路不对,以解决
#3
Jonny02012018-11-05 11:44
多个条件甚至嵌套 SQL 其实放进 columnName 里面就可以了
1