在delphi中用
select * from table where month(field)=:byyuefen;
parambyname('byyuefen').asinteger:=strtoint(edit1.text);
报错
但是
select * from table where month(field)=8 在sqlserver2000中通过
请问delphi中应该如何正确书写?
select * from table where month(field)=:byyuefen;
parambyname('byyuefen').asinteger:=strtoint(edit1.text);
报错
但是
select * from table where month(field)=8 在sqlserver2000中通过
请问delphi中应该如何正确书写?
解决方案 »
- 关于QQ2010命令行
- Delphi7 自带报表打印设置过程请教
- 使用indy收邮件标题乱麻问题,急求!!!!!
- 控件开发中的属性问题——————我是菜鸟不怕笑
- 一个关于EDIT的问题?UP有分,不够再给!
- 怎样快速积攒积分
- 如何删除Activex控件?
- keydown和KeyPress事件有何不同?
- Hello!我用delphi+ado+access开发了一个程序,请问如何打包?高分!
- 求开发 ActiveX Libary 的详细步骤! Com Object 与 Automation Object 区别,如何用?
- ●程序中一块区域想要显示网页内容,请问我的程序中为什么非得使用绝对路径才能显示?
- ADO 一对多数据库
select * from [table] where month([field])=:byyuefen;
你用的DATETIME类型吧?
那可以这么写 select * from tablename where datepart(mm,字段名)=关键字
可以建个表来运行一下,就明白我说的意思了。
parambyname('byyuefen').asinteger:=strtoint(trim(edit1.text));
测试通过
begin
with adoquery1 do
begin
close;
sql.clear;
sql.add('select * from t where month(c) = 8');
open;
showmessage(datetimetostr(fields[2].asdatetime));
end;
end;
仔细检查代码吧可能哪出错
FROM employee
WHERE (MONTH(dism_date) = 10) AND (YEAR(dism_date) = 2003)自己举一反三吧,语句没有问题