我这里是多表查询,原来的sql语句是: select t_s.id,t_s.name,t_g.english from t_s,t_g where t_s.id=t_g.id and t_g.english<60 在查询结果中不能更改数据 from 风,我改为: select tab1.* from tab1 inner join tab2 on ... 就可以更改了。 谁能解释一下? 一起给分。
当然,多表查询必需是一一对应的关系才能更新,否则数据库怎么知道改的是哪条记录啊 select t_s.id,t_s.name,t_g.english from t_s,t_g where t_s.id=t_g.id and t_g.english<60 如果改为: select t_s.id,t_s.name,t_g.english from t_s inner join t_g on t_s.id=t_g.id where t_g.english<60 应该就可以了
用SQL语句也可以做到很方便的操作
select * from tab ...
select tab1.* from tab1 inner join tab2 on ...
之类的就是可以更新的
其他分组或汇总等查询就不能更新
或:用SQL命令、存储过程也可以
select t_s.id,t_s.name,t_g.english from t_s,t_g where t_s.id=t_g.id and t_g.english<60
在查询结果中不能更改数据
from 风,我改为:
select tab1.* from tab1 inner join tab2 on ...
就可以更改了。
谁能解释一下?
一起给分。
select t_s.id,t_s.name,t_g.english from t_s,t_g where t_s.id=t_g.id and t_g.english<60
如果改为:
select t_s.id,t_s.name,t_g.english from t_s inner join t_g on t_s.id=t_g.id where t_g.english<60
应该就可以了
你会发现很麻烦。
不妨使一下list,或者其他非数据感应控件。