怎样写这样的SQL语句?

EPS 2004-12-27 09:05:14
COleDateTime dateBegin;
COleDateTime dateEnd;

我想查询这两个时间内的所有数据,请问大家我应该怎样写这个SQL语句?
...全文
85 点赞 收藏 9
写回复
9 条回复
MZP 2004年12月27日
strSQL.Format("Select * From %s Where ((日期 >= '%s' ) AND (日期 <= '%s' ))",........
回复 点赞
EPS 2004年12月27日
是呀,这些我都知道,我是这样写的
strSQL.Format("Select * From %s Where ((日期 > %s OR 日期 = %s) AND (日期 < %s OR 日期 = %s))",
(char*)(LPCTSTR)strTableName, (char*)(LPCTSTR)strTimeBegin, (char*)(LPCTSTR)strTimeBegin,
(char*)(LPCTSTR)strTimeEnd, (char*)(LPCTSTR)strTimeEnd);

_variant_t varSQL(strSQL);
try
{
m_pRecordset->Open(varSQL,
theApp.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch (_com_error e)
{
MessageBox("程序出现未知错误,请重新启动程序!", "错误");
return;
}

在运行时出现异常,请大家指教一下.
回复 点赞
zhangqu_980371 2004年12月27日
"先把COleDateTime型的数据转成CString再拼sql语句:

SYSTEMTIME systimeBegin;
VariantTimeToSystemTime(dateBegin, &systimeBegin);
CTime tm(systimeBegin);
CString strBegin = tm.Format("%Y-%m-%d %H:%M:%S"); //COleDateTime->CString

SYSTEMTIME systimeEnd;
VariantTimeToSystemTime(dateEnd, &systimeEnd);
CTime tm(systimeEnd);
CString strEnd = tm.Format("%Y-%m-%d %H:%M:%S"); //COleDateTime->CString
"


回复 点赞
Kudeet 2004年12月27日
SQL Server数据库的用法中有个小问题,第一个end应该是start

COleDateTime time;
start = time.Format("%Y-%m-%d %H:%M:%S"); ////////////////////end ----> start
COleDateTime time(year,month+1,1,0,0,0);
end = time.Format("%Y-%m-%d %H:%M:%S");
回复 点赞
Kudeet 2004年12月27日
以上是SQL Server数据库的用法

如果是ACCESS,是这么用:
COleDateTime start(year,month,1,0,0,0);
COleDateTime end(year,month+1,1,0,0,0);
s = start.Format("%Y-%m-%d %H:%M:%S");
e = end.Format("%Y-%m-%d %H:%M:%S");
sql.Format("select * from OutCord where OutTime>=#%s# and OutTime<=#%s#",s,e);


两种数据库都使用过,能查询符合条件的记录
回复 点赞
Kudeet 2004年12月27日
COleDateTime time;
end = time.Format("%Y-%m-%d %H:%M:%S");
COleDateTime time(year,month+1,1,0,0,0);
end = time.Format("%Y-%m-%d %H:%M:%S");
sql.Format("select * from [Transformer] where [DeviceID]='%s' and [CheckTime]>'%s' and [CheckTime]<'%s'",deviceid,start,end);
回复 点赞
bohut 2004年12月27日
先把COleDateTime型的数据转成CString再拼sql语句:

SYSTEMTIME systimeBegin;
VariantTimeToSystemTime(dateBegin, &systimeBegin);
CTime tm(systimeBegin);
CString strBegin = tm.Format("%Y-%m-%d %H:%M:%S"); //COleDateTime->CString

SYSTEMTIME systimeEnd;
VariantTimeToSystemTime(dateEnd, &systimeEnd);
CTime tm(systimeEnd);
CString strEnd = tm.Format("%Y-%m-%d %H:%M:%S"); //COleDateTime->CString
回复 点赞
beyondtkl 2004年12月27日
什麼數據庫哪??還有裡面保存得字段得類型是??
回复 点赞
EPS 2004年12月27日
还是不行呀,还是引发了异常.
用AfxMessageBox(e.ErrorMessage());显示的是IDispatch error#3092
大家帮帮忙呀!!!!!!!!!
回复 点赞
发动态
发帖子
数据库
创建于2007-09-28

3443

社区成员

3.9w+

社区内容

VC/MFC 数据库
社区公告
暂无公告