33,311
社区成员
发帖
与我相关
我的任务
分享
#define TO_TABLE_STRING(q) sql.Format(_T("COPY (select * from \"")_T(#q)_T("\") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)
即可
#include <tchar.h>
#include <stdio.h>
//#define TO_TABLE_STRINGq(q) sql.Format(_T("COPY (select * from \"")_T(#q)_T("\") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)
#define TO_TABLE_STRINGq(q) _T("COPY (select * from \"")_T(#q)_T("\") TO '%s' BINARY")
#define TO_TABLE_STRING(q) TO_TABLE_STRINGq(q)
int main() {
_tprintf(_T("%s"),TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN));
return 0;
}
//COPY (select * from "SRV_CHKOUT_ODR_DOWN") TO '%s' BINARY
// SRV_CHKOUT_ODR_DOWN 可以换成你一个变量表示
#define TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN) \
sql.Format(_T("COPY (select * from \"SRV_CHKOUT_ODR_DOWN\") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)
这样不行么?难道还有别的要求什么的?[/quote]
对了你的那个strFileName 没看清楚, 得从前面参数传进来
#define TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN, strFileName) \
sql.Format(_T("COPY (select * from \"SRV_CHKOUT_ODR_DOWN\") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)
[/quote]额 那个宏在引号里面啊 你怎么能这么定义 [/quote]
你的意思你后面的语句里 已经有一个宏了? 宏貌似不可以嵌套的
你题目没有,我也没仔细看。。
用
#ifdef
#define
#endif[/quote]不是你说的那样 我问的是可否对此进行宏定义,传入参数SRV_CHKOUT_ODR_DOWN,这个SRV_CHKOUT_ODR_DOWN在里面是可以被替换的,无论几个宏定义嵌套都可以
// SRV_CHKOUT_ODR_DOWN 可以换成你一个变量表示
#define TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN) \
sql.Format(_T("COPY (select * from \"SRV_CHKOUT_ODR_DOWN\") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)
这样不行么?难道还有别的要求什么的?[/quote]
对了你的那个strFileName 没看清楚, 得从前面参数传进来
#define TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN, strFileName) \
sql.Format(_T("COPY (select * from \"SRV_CHKOUT_ODR_DOWN\") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)
[/quote]额 那个宏在引号里面啊 你怎么能这么定义 [/quote]
你的意思你后面的语句里 已经有一个宏了? 宏貌似不可以嵌套的
你题目没有,我也没仔细看。。
用
#ifdef
#define
#endif
// SRV_CHKOUT_ODR_DOWN 可以换成你一个变量表示
#define TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN) \
sql.Format(_T("COPY (select * from \"SRV_CHKOUT_ODR_DOWN\") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)
这样不行么?难道还有别的要求什么的?[/quote]
对了你的那个strFileName 没看清楚, 得从前面参数传进来
#define TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN, strFileName) \
sql.Format(_T("COPY (select * from \"SRV_CHKOUT_ODR_DOWN\") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)
[/quote]额 那个宏在引号里面啊 你怎么能这么定义
// SRV_CHKOUT_ODR_DOWN 可以换成你一个变量表示
#define TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN) \
sql.Format(_T("COPY (select * from \"SRV_CHKOUT_ODR_DOWN\") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)
这样不行么?难道还有别的要求什么的?[/quote]
对了你的那个strFileName 没看清楚, 得从前面参数传进来
#define TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN, strFileName) \
sql.Format(_T("COPY (select * from \"SRV_CHKOUT_ODR_DOWN\") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)
// SRV_CHKOUT_ODR_DOWN 可以换成你一个变量表示
#define TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN) \
sql.Format(_T("COPY (select * from \"SRV_CHKOUT_ODR_DOWN\") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)
这样不行么?难道还有别的要求什么的?