VC6 Dao数据库模糊条件、参数查询和字符型转日期型字段等问题

laozhuang 2000-08-03 03:14:00
我用VC的Dao进行数据库操作,在操作过程中需要用到条件查询如下:
在我的程序中所有的字段都是char 类型的包括日期字段和金额字段等,
当我要查询处理日期介于 起始日期和终止日期之间的所有记录时,我
不知要如何写查询语句?请各位高手帮帮忙!
请问是不是要先考虑以下几点?
1、先要把起始日期字段(char 型)和终止日期字段(char 型)转换为日期型,
怎么转换?
2、介于……之间的是不是用Between ……and ?
3、是不是要考虑用参数查询?参数查询应该怎么写代码?请给一个实例。

void CCxmx::OnCxyeBtn()
{
CString seekstr,strSQL;
CString startdate,enddate,tyear,tmonth,tdate,end_year,end_month,end_date;

m_startDate.GetWindowText(startdate);
m_endDate.GetWindowText(enddate);
tyear=startdate.Left(4);//取出年4位--取左4位
tmonth=startdate.Left(7).Right(2);//取出月2位--先取整个串的左7位,再取左7位的右2位
tdate=startdate.Right(2);//取出日2位--取右2位
end_year=enddate.Left(4);
end_month=enddate.Left(7).Right(2);//取出月2位--先取整个串的左7位,再取左7位的右2位
en_date=enddate.Right(2);//取出日2位--取右2位
startdate=tyear+tmonth+tdate;//起始日期
enddate=end_year+end_month+end_date;//终止日期


//以下这句是我写的查询语句,这是不对的请帮我修改?
strSQL="SELECT account,transactdate,amount FROM [t_jy] WHERE (CDate(transactdate) Between CDate(startdate) and CDate(enddate)) ";


}
CDaoRecordset rs(&hrnbs_Db); //打开数据库记录集

try
{
rs.Open(dbOpenDynaset,strSQL); //根据查询条件strSQL生成动态记录集

if (!rs.IsBOF())
{rs.MoveFirst();
}
while (!rs.IsEOF()) //while
{
}//End While
rs.Close(); //关闭数据库记录集
} // End try
catch( CDaoException* e )
{
e->Delete( );
}

}
...全文
143 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
laozhuang 2000-08-08
  • 打赏
  • 举报
回复
zzh 我的Email:fj9lihu@sina.com
谢谢你,zzh!
laozhuang 2000-08-07
  • 打赏
  • 举报
回复
zzh
你好能不能给我一个实例程序我根据你的方法做了但是好象还不行谢谢你的帮助!!!
zzh 2000-08-07
  • 打赏
  • 举报
回复
告诉我EMAIL地址,我的是zzh1415@21cn.com
zzh 2000-08-05
  • 打赏
  • 举报
回复
参考如下代码:
CDaoDatabase db;
db.Open();
CDaoRecordset m_Set(&db);
CString SQL=_T("select count(*) from 模拟量操作历史表 where 模拟量操作历史表UpdateTime>#%s# and 模拟量操作历史表.UpdateTime<#%s#",strBegin,strEnd);");
m_Set.Open(SQL);
当数据库是日期字段类型是日期型时,ACCESS操作要用#号,SQL用逗号或双引号。
蒋晟 2000-08-04
  • 打赏
  • 举报
回复
比较时间,可以使用自定义函数把子段转化为时间,或者直接比较时间的文本形式也可以

19980201<20000301

4,011

社区成员

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

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