1、如何在查询(TADOQuery)中新增字段,并可以显示及修改值,从别的表计算统计中得出其值?
2、如何在查询中再进行第二次查询,比如之前查询了2007年至2008年的记录,再在这基础上再查询08年某个月的记录?
2、如何在查询中再进行第二次查询,比如之前查询了2007年至2008年的记录,再在这基础上再查询08年某个月的记录?
解决方案 »
- 请问在webbrowser中如何使用bmp资源文件?(分不够可以加)
- 为什么不能触发dbgrid的onkeypress事件(ADOQUERY中指针已经变化,但DBGRID显示的内容却不变)?
- 如何在两个不同机器之间拷贝文件(copyfile...)? 高手哪里去了呀
- 1.MIDAS中接口的注册?2.服务器端DataModel的继承问题?
- 利用windows API的串口编程
- usb2i2c开发,有经验的请关注
- 一个小问题
- delphi 6、sql 7、mdac 2.6的组合问题
- form2在form1显示的问题
- 好像几天没有来了~送分!
- 如何保存 TListView 内的内容到文件?
- 局域网访问SQL服务器问题(急!!!)
ADOQuery1.fieldDefs.Add('aa',ftInteger,0);2 可以用filter ,具体用法自己查一下。
ADOQuery1.open;
ADOQuery1.filtered := False;
ADOQuery1.filter := 'month = 08';
ADOQuery1.filtered := True;
TmpDS1.ExecSQL();
这是Access数据库的,我之前的查询是这样的
select * from table1 where times>=cdate('+chr(39)+'2008-11-01'+Chr(39)+') and times<=cdate('+chr(39)+'2008-11-30'+Chr(39)+')之后filter是这样设置的
ADOQuery1.filter := times>=cdate('+chr(39)+'2008-11-01'+Chr(39)+') and times<=Cdate('+chr(39)+'2008-11-12'+Chr(39)+')';
于是就有了上面的报错但是我试过执行:
select * from table1 where times>='2008-11-01' and times<='2008-11-30' and times>='2008-11-01' and times<='2008-11-13' 却是正常的不知道为何故,还望高人指点
ADOQuery1.filter := 'times>=cdate('+quotedstr('2008-11-01')+') and times <=Cdate('+quotedstr('2008-11-12')+')';
问题1 例:SELECT ID,NAME,money1,money2, money1-money2 as money3 from tabel1 //money3在tabel1中是不存在的 那个 money3 (money1与money2的差) 就只能显示不能修改,和其它表联合查询也是一样的。
2:做一个循环以i=13为一圈 从0开始 。
0.查询了2007年至2008年的记录;
1.(查询了2007年至2008年的记录) a left join (08年第1月的记录) b on a.ID=b.ID
2.(查询了2007年至2008年的记录) a left join (08年第2月的记录) b on a.ID=b.ID
3.同上(月份就可以取循环的那次数);
如果做个可选的。 COMBOBOX1 (0...12) 属性style:=CsDropDownList
为空时就 (月份 就可以取循环的那次数 i )
不为空时 (月份 就取combobox1.text 同时把 i :=0 /strtoint(combobox1.text))以上只是建义