sql语句是不是有长度限制!

xuin 2002-10-31 05:49:43

为什么我的SQL语句超过500字符就会执行出错~1 !
另外我用COleDateTime控件产生的时间,要在查询条件中引入这个时间,
应该怎么做?
是把这个时间转换成字符串来处理的吗?
还是其他的什么方法!
我的方法是:
Coledatetime dt1,dt2,dttemp;
dttemp=COleDateTime::GetCurrentTime()
dt1.Setdate(dttemp.getyear()-20, dttemp.getmonth(), dttemp.getday());
dt2.Setdate(dttemp.getyear()-10, dttemp.getmonth(), dttemp.getday());

CString strtemp;
strtemp.format("select * from table where [date] between \'%s\' and \'%s\'",
dt1.format(***DATEONLY), dt2.format(***DATEONLY));
***处的具体字符记不清了,反正就是转换成字符串的时候只转换日期,
然后将strTemp作为SQL语句去执行却不能通过!
往高手不另赐教!

...全文
103 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
leus 2002-11-03
  • 打赏
  • 举报
回复
我写的查询虽然不是太长,但几K还是有的,没有遇到这种问题。肯定不是数据库的限制。我用的是Access&SQL SERVER
hsyhsy 2002-11-01
  • 打赏
  • 举报
回复
我用SQL时都这样写,“where time >#2002-1-1#”
可以用CTime::Format("%Y-%m-%d")得到时间的串值
52001314 2002-11-01
  • 打赏
  • 举报
回复
我也是转化成字符串做的。

不过用between好像有问题。between是 min=< x < max吧?
我如果between 11月1日 和 11月2日,就能显示11月1日的。但是,如果between11月1日 aned 11月1日 ,什么都查不出来。
wyb_45 2002-11-01
  • 打赏
  • 举报
回复
每种数据库SQL有嵌套限制,但几乎没有长度限制。
wyb_45 2002-11-01
  • 打赏
  • 举报
回复
每种数据库SQL有嵌套限制,但几乎没有长度限制。
nevergrief 2002-10-31
  • 打赏
  • 举报
回复
根据vckbase说的,最大8k
andy_lau 2002-10-31
  • 打赏
  • 举报
回复
CString 有个限制,好像是要是超过了250句就会waring但是人可以用
但sql好像...反正没听过

4,011

社区成员

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

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