我用的是Access2000数据库。表中有id,xm,xb,csrq等若干个字段。我用:'Select xm as 姓名,xb as 性别,csrq as 出生日期 from 表1'来执行查询很正常,但我用'Select xm as 姓名,xb as 性别,(yeaer(now)-year(csrq)) as 年龄 from 表1'来执行,数据可以正常显示在DBGridEh1表格中,但一旦执行删除(Adoquery1.Delete;)时就会报如标题那样的错误。请问如何可以既显示出年龄来又不会报错呢?谢谢!
注:id是自增型主键字段。
注:id是自增型主键字段。
只能通过SQL模式删除
或者
SQL修改成
Select xm,xb,(year(now)-year(csrq)) as 年龄 from 表1
而且能否顺利执行还与你的数据库引擎(一般是ADO)版本及Delphi的版本及数据库设计有关
可是你数据库中没年龄这个字段,
你可以用sql语句来删除 delete from 表 where id=xx。