经常在修改或删除DBGRID里的内容时提示:‘无法为更新行集定位:一些值可能已在最后读取后改变。’ 
   这是怎么回事呢?还有请教,SQL SERVER数据库里的日期类型为空时显示为“1905-06-24”,能不能使这个值显示为空就行了?

解决方案 »

  1.   

    修改DBGrid内容出错,那是因为你在修改的时候有两条或多条数据完全一样,或者它的主键你修改成有两条或多条一样的,所以更新无法定位
      

  2.   

    将DataSource的AutoEdit设置为False;好了,点按钮后再让他修改
      

  3.   

    1.数据集中有两条或多条相同的记录
    2.sql server中日期类型为空时就是空的啊
    3.trim、trimleft、trimright
      

  4.   

    各位大哥:
      数据集中有两条或多条相同的记录(这个数据库要求就是要有这样子的,没有设置主键什么的),请教如何删除法,不会出错!
      sql server中日期类型为空时就是空的啊,可是用DATETIMEPICKER显示出来是一个日期啊?请教如何做?
      

  5.   

    update table1 set DatetimeFiled= null
      

  6.   

    delphi中的DATETIMEPICKER控件的默认值是1905年..我还没有办法使它为空啊..
      

  7.   

    uses StrUtils;
    Edit1.Text:=AnsiReplaceStr(有空格的字符串,' ','');//------->这样以后就没有空格了日期值的处理你可参看一下delphi的例子MastApp中日期的处理方法,没有用DATETIMEPICKER控件,处理的效果也很好