我在用DELPHI+SQL SERVER2000开发程序时,动态SQL查询语句把结果显示在DBGRID里面,但结果却不能编辑、修改、删除,
而导航条也只能前移,后移,第一条,最后一条这几个可用。
但同样的语句如果数据库为DELPHI自带的paradox数据库则查询结果可以编辑、
修改删除等操作。  那位朋友告诉我是什么原因?

解决方案 »

  1.   

    你用的可能是BDE,如果是连接SQL Server数据库,最好用ADO.
      

  2.   

    我想起来了,你把“%”换成“*”试试,我记得以前我也遇到这样的事~ 
    在DELPHI里面用SQL的LIKE时有点不一样~
      

  3.   

    你在用的什么做移动阿!
    adoqry.first;
    adoqry.next;
    adoqry.last;
    这样用adoqry直接移动可以么!
      

  4.   

    是不是SQL的游标的问题看一下!
      

  5.   

    强烈建议你用 ADO 连接SQL SERVER2000的,
    记得某大侠说过,bde 不支持SQL SERVER2000。
      

  6.   

    没有理由的结果
    一定是你的代码当中有问题
    强烈建议重新做用ADO
    然后就会找到问题的所在
      

  7.   

    在SQL Server中,用T-SQL语句查询出来的数据是只读的。除非你把DELPHI里的数据集控件改成在缓存里,进行批量处理。
      

  8.   

    建议把requestlive设为True试试。
      

  9.   

    你的参数传递有问题
    宿主变量用的不对,你跟踪一下你的sql语句就会发现并不是你想要的sql查询,而是不正确的语句,不正确的sql语句当然不能显示结果啦
    sql.comma;
    showmessage(……sql.comma);
    检查一下,肯定是这里的问题
    然后改对参数传递问题,就ok啦
      

  10.   

    DBGRID、ADODatSet的永久字段 的readonly是否设置True
      

  11.   

    在SQL Server 中,用select 查询出来的数据是只读的.