用 Query 连接DBGrid 显示数据库 做一个删除按钮 用Query1.Delete;为何提示 table is read only!
Query-Requestlive=true 了啊~~~

解决方案 »

  1.   

    是的 
    SQL-select * from 人事 order by bumen desc;
      

  2.   

    DBGrid 不是只读  我分析是因为DBGrid显示的是QUERY查询结果
    不能直接用Delete 但不知到解决办法~
      

  3.   

    重新放一个Query再简单设置 一下试试
      

  4.   

    我差了一下用sql语句可以删  删除语句我也知道  但是如何做到删除dbgrid光标所在的数据库啊   条件我实在想不出来
      

  5.   

    建议用table控件  过滤时用 filer如果用query 建议用sql 语句   delete tablename  where  fieldname=query.fieldbyname('fieldname').asstring;
      

  6.   

    query 和DBgrid 能直接连吗?  好象要个DataSource 
    我用adoconnection-->adoquery-->datasource-->dbgrid  
    试了下,能实现啊
      

  7.   

    谢谢jin75hong现去试验  我也是query控件连接DataSource再连DBgrid的我用的是paradox7数据库adoquery不能使用 只能使用query控件  并且query控件连接数据库方法跟adoquery控件不一样 query控件使用查询语句连接数据库的~~
      

  8.   

    问题我已经知道了原因就是query控件需要用查询语句连接数据库,而简单的查询语句
    select * from 表 是可以用query.Delete 的但是复杂一点的就不可以了 如
    select * from 表 order by 项 desc;
    降序排列后就是只读了!但是sql语言我更菜,删除DBGrid光标指向的数据 我实在想不出来