标题:数据库封装的问题
只看楼主
rohalloway
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:97
专家分:405
注 册:2018-9-28
结帖率:75%
 问题点数:0 回复次数:2 
数据库封装的问题
程序代码:
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编辑过]

搜索更多相关主题的帖子: 数据库 delete string where 函数 
2018-11-04 19:33
rohalloway
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:97
专家分:405
注 册:2018-9-28
得分:0 
思路不对,以解决
2018-11-05 08:49
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
得分:0 
多个条件甚至嵌套 SQL 其实放进 columnName 里面就可以了
2018-11-05 11:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490985-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.132477 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved