各个记录前不都有复选框吗?我就是把要删除的都选上,然后点删除RECORD撒,当时确实是看见删除了,但是后来打开来看,还在。
 我再用DBGRID之类的控件显示也在,再删,提示说“this record had been deleted by another user”,怎么办嘛?

解决方案 »

  1.   

    呵呵,
    这就是啦,
    你有注意到 MySQL-Front 下面的 SQL ???我先来说说它的工作原理,1:
    SELECT 出数据,并显示在表格中,2:
    你删除时,程序组成 DELETE 语句,
    条件是  WHERE Col1= 表格中的数据3:
    将表中相应的一行删除
    这里在这样的一个特殊情况下就会出现一个问题
    >>>>>>> 当表格中显示的数据并不是数据库表记录中真正的数据时,
    >>>>>>> 组成的 DELETE WHERE 字句将不会匹配数据表的中记录
    >>>>>>> 所以执行 DELETE 的结果是没有删除任何记录行,
    >>>>>>> 而 MySQL-Front 在进行第三步操作的时候并不是执行一条 SELECT 查询语句来实现数据表的显示集的更新的,而是直接将窗体上显示的数据表中相应的表行删除,以使我们看起来感觉是该条记录在数据库中已被删除明白了吗??
    为什么会出现 " 表格中显示的数据并不是数据库表记录中真正的数据 " ???有两个原因
    1: 字符集不一致(正是你的情况)
    2: 条件字段是一个浮点型数据