Delphi SQL 语句
sqlstr:='select*from'+stuDataTbName+'whereRunDatebetween:beginDateand:endDateorderbyS...
sqlstr:='select * from '+stuDataTbName+' where RunDate between :beginDate and :endDate order by StudentId ASC';
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text:=sqlstr;
Query1.ParamByName('beginDate').Value:=DateTimePicker_Begin.Date;
Query1.ParamByName('endDate').Value:=DateTimePicker_End.Date;
Query1.Open;
请问这哪里错了哦?纠结死了啊…… 展开
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text:=sqlstr;
Query1.ParamByName('beginDate').Value:=DateTimePicker_Begin.Date;
Query1.ParamByName('endDate').Value:=DateTimePicker_End.Date;
Query1.Open;
请问这哪里错了哦?纠结死了啊…… 展开
展开全部
改Query1为ADOdataset组件吧,SQL语句写出来整齐直观,很容易看懂,也不需要什么参数,直接给字段赋值.
从你用的Query1这个组件名称来看,你用的是BDE组件,这东西是很麻烦的,早就被人抛弃了,只是改造一老软件时才用.用ADO,没有给数据库设置别名的麻烦.做起非常直观.用DBE时,如果客户机器没有安装迈达斯的话,软件还不能使用,这就是人们常说的接媳妇还要带上一个婆婆(迈达斯).没有婆婆,媳妇就不干活.
从你用的Query1这个组件名称来看,你用的是BDE组件,这东西是很麻烦的,早就被人抛弃了,只是改造一老软件时才用.用ADO,没有给数据库设置别名的麻烦.做起非常直观.用DBE时,如果客户机器没有安装迈达斯的话,软件还不能使用,这就是人们常说的接媳妇还要带上一个婆婆(迈达斯).没有婆婆,媳妇就不干活.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从表面上没什么问题,请检查下,begindate 或enddate的日期格式?……。
另外,由于没有测试环境建议你分步来调试
即。先不要加参数,看是否可以正常执行,然后再加入参数,另,也可以考虑使用字符串拼接的形式来加入日期段……
另外,由于没有测试环境建议你分步来调试
即。先不要加参数,看是否可以正常执行,然后再加入参数,另,也可以考虑使用字符串拼接的形式来加入日期段……
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. select * from '+stuDataTbName+' where 改为——
select * from '''+stuDataTbName+''' where 两边要各三个引号
2. Query1.SQL.Text:=sqlstr; 改为——
Query1.SQL.add(sqlstr);
然後你再调试一下就知道了
select * from '''+stuDataTbName+''' where 两边要各三个引号
2. Query1.SQL.Text:=sqlstr; 改为——
Query1.SQL.add(sqlstr);
然後你再调试一下就知道了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Query1.SQL.Text:=sqlstr;
后面加一个Query1.prepare;试试。
后面加一个Query1.prepare;试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询