我有3个combobox控件,combobox1表示年,combobox2表示月,combobox3表示日,我的日期字段是achievedate,我用table1.fieldbyname('achievedate').asstring:=
combobox1.text+'-'+combobox2.text+'-'+combobox3.text;将日期送入库中,asstring对吗?是否应该用asdate还是asdatetime?之后我用table查询大于某个日期的记录,同样,这个日期是用3个combobox表示的,其查询语句是:
with table do
begin
active:=fasle;
filer:='achievedate>'''+combobox1.text+'-'+combobox2.text+'-'+combobox3.text+'''';
filtered:=true;
active:=true;
end;
请问filer:='achievedate>'''+combobox1.text+'-'+combobox2.text+'-'+combobox3.text+''';这条语句对吗?我在运行时出现type mismatch in expression这种错误,是怎么回事?应该怎么改?还是别的地方除了问题,我的数据表是用delphi创建的。
combobox1.text+'-'+combobox2.text+'-'+combobox3.text;将日期送入库中,asstring对吗?是否应该用asdate还是asdatetime?之后我用table查询大于某个日期的记录,同样,这个日期是用3个combobox表示的,其查询语句是:
with table do
begin
active:=fasle;
filer:='achievedate>'''+combobox1.text+'-'+combobox2.text+'-'+combobox3.text+'''';
filtered:=true;
active:=true;
end;
请问filer:='achievedate>'''+combobox1.text+'-'+combobox2.text+'-'+combobox3.text+''';这条语句对吗?我在运行时出现type mismatch in expression这种错误,是怎么回事?应该怎么改?还是别的地方除了问题,我的数据表是用delphi创建的。
解决方案 »
- webbrowser普通问题
- pointer Dll 函数传值问题
- fastreport 3.15 中报表如何添加新页?(在线等,答完就结贴)
- 怎样调节DBGrid的column的大小
- 大家来讨论一下吧!!!有关自已做窗体设计器.......
- zdcnow(磁效应)接分!!
- 那位高手能告诉小弟关于输入法编程的方法,多谢!!!100分
- 请问怎样使单选组框RadioGroup1中的某一个Items非使能(即类似Enabled=false)?
- 主细报表的问题,再问。。。。急呀!!!!!!!!
- 但如果用delphi做网页调用的数据库查询方面的组件,原程序应该如何写?
- 验证的问题??
- 在Delphi中如何设置Excel指定列的对齐方式?(在线等待)
Adoquery1.Post;
刚这段代码测试通过了,你试一下。
有这么麻烦吗?
table1.fieldbyname('achievedate').ASDATETIME:=DateTimePicker1.Date;
保存日期至数据库.
filer:='achievedate>'''+DateToStr(DateTimePicker1.Date)+'''';
进行查找.
下回最好用QUERY,然后用SQL进行查找,更方便.
Procedure pSearch
var
s, ss, ss :Word;
dDate : TDateTime;
Begin
s := strToint(combobox1.text);//年
ss := strToint(combobox2.text);//月
sss := strToint(combobox3.text);//日
dDate := Encodedate(s,ss,sss);
With table do
begin
Filtered := false;
Filter :='achievedate > '''+DateToStr(dDate)+'''' ;
Filtere := true
End; 这样 OK拉!End;
是啊,我们老板就是这样,在他面前就是第一服从,第二完全服从,第三绝对服从.唉,我命苦啊!!!不过,我还有一个问题,就是在delphi中金额是$,那么"strto金额"应该怎么写,我找帮助怎么找不到呢?还有几天旧到期了,你们一定要帮我啊!!!
dDate : TDateTime;
Begin
s := strToint(combobox1.text);//年
ss := strToint(combobox2.text);//月
sss := strToint(combobox3.text);//日
dDate := Encodedate(s,ss,sss);
With table do
begin
Filtered := false;
Filter :='achievedate > '''+DateToStr(dDate)+'''' ;
Filtere := true
End;
怎么不行啊,还是说类型不匹配。
我也用table1.fieldbyname('achievedate').ASDATETIME:=DateTimePicker1.Date;
保存日期至数据库.
filer:='achievedate>'''+DateToStr(DateTimePicker1.Date)+'''';试过了,可是还是出现同样的错误,究竟是怎么回事呢,我快疯了。
filter:='achievedate>'+''''+DateToStr(DateTimePicker1.Date)+'''';我通常加单引号时都这样加,即明显,又不易出错。