我在Delphi中用adoquery组件连接数据库后,创建一个视图并从视图中进一步查询我所需要的数据,
简要代码如下:
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('create view le as select id,count(leave) as ll from checking where leave=1 group by id');//A
adoquery1.sql.add('select * from view'); //B
adoquery1.execsql;A行的创建视图的代码应该没错吧?
B行会报错,说select附近有错。问题:1、上面创建视图的代码是否有错?2、若有错则怎么创建视图?3、若没错则怎么实现从视图中select数据?
简要代码如下:
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('create view le as select id,count(leave) as ll from checking where leave=1 group by id');//A
adoquery1.sql.add('select * from view'); //B
adoquery1.execsql;A行的创建视图的代码应该没错吧?
B行会报错,说select附近有错。问题:1、上面创建视图的代码是否有错?2、若有错则怎么创建视图?3、若没错则怎么实现从视图中select数据?
select * from le
--le 是你的视图名。
adoquery1.sql.add('create view le as select id,count(leave) as ll from checking where leave=1 group by id');//A
adoquery1.sql.add(' '); //空格隔开
adoquery1.sql.add('go ');//先提交生成视图adoquery1.sql.add('select * from view'); //B
adoquery1.sql.add('create view le as select id,count(leave) as ll from checking where leave=1 group by id');//A
adoquery1.sql.add(' '); //空格隔开
adoquery1.sql.add('go ');//先提交生成视图,注意go后加两个空格。
adoquery1.sql.add('select * from view'); //B
qry_BaseTemp.Close;
qry_BaseTemp.SQL.Clear;
qry_BaseTemp.SQL.Add( ' //SQL語句' );//加你的視圖名
qry_BaseTemp.Open;