首页 新闻 赞助 找找看

C++如何格式化字符串?

0
悬赏园豆:5 [已解决问题] 解决于 2010-08-30 21:36

形成一个对数据库进行读操作的字符串,要求ArticleId between  beginindex and endindex,

beginindex,endindex是变量

char * select =new char[1000];
 memset(select,0,sizeof(select));
 char *firstpart="select CKeyWord,ArticleId,CAbstract from Article where ArticleId between ";
 char *lastpart=" order by ArticleId";
 char middlepart1[100];
 char middlepart2[100];
 sprintf_s(middlepart1,sizeof(middlepart1),"%d",beginindex);
 sprintf_s(middlepart2,sizeof(middlepart2),"%d",endindex);
 strcat(select,firstpart);
 strcat(select,middlepart1);
 strcat(select," and ");
 strcat(select,middlepart2);
 strcat(select,lastpart);
 pConn->ConnectionString="Provider=SQLOLEDB.1;Password=***;Persist Security Info=True; User ID=sa;Initial Catalog=ArticleCollection";
 pConn->Open("","","",adConnectUnspecified);
 pRst=pConn->Execute(select,NULL,adCmdText);

delete []select

以下是我的方法,不知各位大侠有什么更好的方法吗?

各位大侠还有什么更好的方法?

隐约记得以前学MFC,看孙鑫的视频,里面有个例子,好像是3+4=5,但是从书上找不到了,好像是用的CString 的format,如何用了CString的format,还可以转化成string吗?》

 

finallyly的主页 finallyly | 初学一级 | 园豆:100
提问于:2010-08-29 20:29
< >
分享
最佳答案
0

sprintf_s(select,1000,"%s %d and %d %s",firstpart,beginindex,endindex,lastpart);

收获园豆:3
嗷嗷 | 小虾三级 |园豆:757 | 2010-08-29 21:02
晕,好囧,我太二了,sprintf_s的方法你在我博客后面的留言已经教个我了,不过我教条主义了,明天再给你分数,我看看还有没有其他的方法。欢迎回答哈。
finallyly | 园豆:100 (初学一级) | 2010-08-29 21:59
其他回答(1)
0

CString vstring; 
 vstring.Format(
      "select CKeyWord,ArticleId,CAbstract from Article where ArticleId between  %d and %d ",
         beginindex,endindex);

收获园豆:2
Launcher | 园豆:45045 (高人七级) | 2010-08-30 09:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册