简单问题,马上节贴:VC中的SQL语句如何换行?

csuxiong 2003-08-30 03:37:01
VC中的SQL语句太长了,请问如何换行的?

...全文
107 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdp820101 2003-08-31
  • 打赏
  • 举报
回复
vc中\为字符串连接符
iketeng 2003-08-30
  • 打赏
  • 举报
回复
pst 是什么?Recordset的一个对象?如果是的话,参考如下语句:

_variant_t vConn;

try
{
if(m_pConn->State != adStateOpen)
{
return FALSE;
}

if(m_pRecordset->State != adStateClosed)
{
m_pRecordset->Close();
}

vConn = (IDispatch *)m_pConn;//Connection对象指针来构造一个_variant_t对象

//用RecordSet对象进行查询

m_pRecordset->Open(m_strSQLTest,vConn,adOpenStatic,adLockOptimistic,adCmdText);

return TRUE;
}

catch(_com_error &ce)
{
DumpError(ce);
}

return FALSE;
csuxiong 2003-08-30
  • 打赏
  • 举报
回复
但是在纪录集中怎么写呢?
CString m_strSQLTest;
pst->Open(m_strSQLTest,
m_pConnection.GetInterfacePtr (),adOpenDynamic,adLockOptimistic,adCmdText);
出错,写成:
pst->Open(_variant_t(m_strSQLTest),
m_pConnection.GetInterfacePtr (),adOpenDynamic,adLockOptimistic,adCmdText);
也出错?
iketeng 2003-08-30
  • 打赏
  • 举报
回复
为什么要换行呢?

那样是一个不好也不科学的编程习惯!

你可以设定一个Cstring的变量,然后用这个变量存贮AQL语句!可以这样处理:

CString m_strSQLTest;

m_strSQLTest = "Select ……"
m_strSQLTest = m_strSQLTest + "from ……"
m_strSQLTest = m_strSQLTest + "where……"
……

这样写的话程序简单明了,不累赘!

希望我的回答对你有用!

(个人意见,如有错误,请大家指正)
KUCHIBUE 2003-08-30
  • 打赏
  • 举报
回复
加斜杠 \ ,例如:

"SELECT A, B, C \
FROM TABLE1 \
WHERE A = 1"
csuxiong 2003-08-30
  • 打赏
  • 举报
回复
up

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧