在vc中开发数据库程序,以时间为查询条件的SQL语句怎么写?

admireO 2001-03-04 11:05:00
EXAMPLE:
"select * from [表名] where 时间字段=?"请问=后的格式是什么呢?
请高手赐教!一定给分;)
...全文
303 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
neomeng 2001-05-13
  • 打赏
  • 举报
回复
同意seesi,直接写成字符串,直接执行SQL就行
seesi 2001-05-13
  • 打赏
  • 举报
回复
时间就直接用字符串就行了, 如cqjiang(了无痕) (2001-4-18 21:02:00) 所说
temp 2001-05-13
  • 打赏
  • 举报
回复
ado的时间字段怎么赋值?

try
{
while(!m_pRecordset->adoEOF)
{
vmenhao = m_pRecordset->GetCollect("门号");
vkahao = m_pRecordset->GetCollect("卡号");
vriqi = m_pRecordset->GetCollect("日期");
vt1 = m_pRecordset->GetCollect("准进起始时间");
vt1 = m_pRecordset->GetCollect("准进终止时间");
/*
time1=(_bstr_t)vt1;
time2=(_bstr_t)vt2;
*/
break;
}
m_port.WriteToPort("OK!");
m_pRecordset->MoveNext();
}
// else m_port.WriteToPort("Wrong!");
}
catch(_com_error e)///捕捉异常
{

}
cqjiang 2001-04-18
  • 打赏
  • 举报
回复
以上实用余VC6+SQL7
cqjiang 2001-04-18
  • 打赏
  • 举报
回复
我用的是:
CString szSQL="SELECT * FROM YOUTAB WHERE DATEFILED='2001-04-18 20:59:31'";
或者
CString szSQL="SELECT * FROM YOUTAB WHERE DATEFILED>'2001-04-18' AND DATEFILED<='2001-04-18 23:59:59'";
charly_win 2001-04-18
  • 打赏
  • 举报
回复
干嘛这么麻烦?
where 时间字段 = #2001-11-1#
其他类推
xhy_rose 2001-04-05
  • 打赏
  • 举报
回复
去看看FoxPro的时间格式,,和它的一样
myb123 2001-04-04
  • 打赏
  • 举报
回复
听课
bluish_fish 2001-04-04
  • 打赏
  • 举报
回复
教你一种好用的方法,一下是我的程序中的一段代码:
char szBuffer [ 256 ];
CWorkTimeSet *m_pSet=&m_pWorkTimeSet;
COleDateTime now=COleDateTime::GetCurrentTime();
m_pSet->m_strSort="WorkTime.ID";
m_pSet->m_strFilter="WorkTime.ID=Person.ID";
m_pSet->m_strFilter+=" and Int(WorkTime.time)=";
m_pSet->m_strFilter+=LPCTSTR(ltoa(int(now),szBuffer,10));
if ( ! m_pSet-> IsOpen () )
m_pSet-> Open ();
else
m_pSet->Requery();

以上代码可以筛选出当天的记录,其他的条件就一样啦。
admireO 2001-03-05
  • 打赏
  • 举报
回复
我要纯粹的sql语句
如:CDaoRecordset daoset(database);
CString strSQL;
strSQL="select * from .....where .....
daoset.open(dbOpenDynaset,strSQL,dbReadOnly);
admireO 2001-03-05
  • 打赏
  • 举报
回复
我要给分,但不知道怎么给呀,快告诉我,两位re的大哥;)
magic 2001-03-05
  • 打赏
  • 举报
回复
temp="[pectime] BETWEEN #"+DateToString(m_timFirst)+"# AND #"+DateToString(m_timSecond)+"#";
你可以试 筛选条件 加在WHERE 后面

CString WINAPI DateToString(CTime time)
{
CString strdate;
strdate=time.Format("%B %d,%Y");
return strdate;
}
zhq2000 2001-03-04
  • 打赏
  • 举报
回复
用了 "?" 就不用在SQL中指定格式,它的格式在参数中设定。

#import "c:\program files\common files\system\ado\msado15.dll" no_namespace , rename("EOF" , "EndOfFile")

_ConnectionPtr pAdoCnn;
_CommandPtr pAdoCmd;
_RecordsetPtr pAdoRst;
//实例化及连接数据库………
.....

_bstr_t bstrSQL("select * from [表名] where 时间字段<=?");
pAdoCmd->ActiveConnection = pAdoCnn;
pAdoCmd->CommandText = bstrSQL;
pAdoCmd->CommandType = adCmdText;
COleDateTime dtNow = COleDateTime::GetCurrentTime();
pAdoCmd->Parameters->Append(pAdoCmd->CreateParameter(NULL , adDBTimeStamp , adParamInput , 8 , _variant_t((DATE)dtNow)));
pAdoRst = pAdoCmd->Execute(&vtMissing , &vtMissing , adCmdText);
.....

4,017

社区成员

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

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