【分享下】一种VC用ADO操作数据库,sql语句的拼凑方法。

以前一直是这样用:

CString sql;
sql.format(_T"SELECT * FROM TABLE WHERE COL1 = '%s' AND COL2 = '%s'",m_a,m_b);

如果语句很长,条件很多,里面就会有很多'%s',后面出现很多m_a,m_b,要数到第几个%s了,写着写着头都大了。

最近发现(或者叫发明,我是没看到别人用,呵呵)一种简便方法。

sql.format(_T"
DECLARE @col1 varchar(20)
DECLARE @col2 varchar(20)
SET @col1 = '%s'
SET @col2 = '%s'
SELECT * FROM TABLE WHERE COL1 = @col1 AND COL2 = @col2
",m_a,m_b);

就是把在SQL语句里面定义变量,这样就可以每个变量不管用多少次,只赋值一次就好了,而且顺序很清楚,改的时候也方便。

原文地址:https://www.cnblogs.com/aoyihuashao/p/1680798.html