S soit Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-20 #1 我把一条或几条记录INSERT到一个QUERY表中,当时好象保存进去了 但过了几天,有的数据就丢失了,我已经为此焦头烂额了,望高手相助
S SeaSky Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-20 #3 把你的代码操作描述一遍吧。 用到一些什么方法控件, CachedUpdate ? TSQLUPdate ? 事物处理? 提问时最好描述的清楚一些, 这样大家可以及时的对症下药。 猜测常常耽误事。
S soit Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-21 #4 对不起,大致情况是这样的: 我编了一段程序可把COMBOX、CHECKBOX之类的控件放入DBGRID中, 然后我把一个表1,结构大概是:编号、姓名 。。。 另一个表为:编号、成绩1、成绩2。。。 我用DBNavigator翻动表1时,表2就可以把该人的成绩在DBGRID表中列出 成绩可以在DBGRID中更改 改动后当时退出,用DATABASE DESKTOP 查看表2中的记录都在 但过一两天,有少量记录就丢失了。
对不起,大致情况是这样的: 我编了一段程序可把COMBOX、CHECKBOX之类的控件放入DBGRID中, 然后我把一个表1,结构大概是:编号、姓名 。。。 另一个表为:编号、成绩1、成绩2。。。 我用DBNavigator翻动表1时,表2就可以把该人的成绩在DBGRID表中列出 成绩可以在DBGRID中更改 改动后当时退出,用DATABASE DESKTOP 查看表2中的记录都在 但过一两天,有少量记录就丢失了。
S SeaSky Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-21 #5 和Menxin的口气一样: 过几天以后消失?不太可能吧。 在过去的一两天中你有没有操作数据库, 如果没有操作, 一定见鬼了。 如果用你编写的程序操作了数据库, 那你的程序中一定有删除或更新的操作, 把你的程序发给我,我帮你看看。 另外, 你能告诉我, 表2的记录 总数 减少了吗? 会不会表2的编号窜到 了别的地方。
和Menxin的口气一样: 过几天以后消失?不太可能吧。 在过去的一两天中你有没有操作数据库, 如果没有操作, 一定见鬼了。 如果用你编写的程序操作了数据库, 那你的程序中一定有删除或更新的操作, 把你的程序发给我,我帮你看看。 另外, 你能告诉我, 表2的记录 总数 减少了吗? 会不会表2的编号窜到 了别的地方。
M menxin Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-22 #6 丢失数据的情况是必然出现,还是有时丢失,有时不丢? 你的程序执行过程中是否有非正常关机?如致命错误或重启动。(有办法) 总之,你必须找到发生的规律。
S soit Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-22 #7 由于用户急等我的程序,所以我是做一点就给用户重新做安装盘, 每次都重装了BDE 装好后,刚开始使用时,这种情况较多,后来较少,但总有。 另外我说的表1表2是举个例子,程序太复杂了,没办法理出来 但无非就是 query1.Insert; query1.FieldByName('ID').asinteger:=strtoint(dbedit1.text); query1.Post; 或 query1.Edit; query1.FieldByName('ID').asinteger:=strtoint(dbedit1.text); query1.Post; 这样的格式吧。 用户输入后当然又进行了其他操作,回过头来才发现数据丢失了
由于用户急等我的程序,所以我是做一点就给用户重新做安装盘, 每次都重装了BDE 装好后,刚开始使用时,这种情况较多,后来较少,但总有。 另外我说的表1表2是举个例子,程序太复杂了,没办法理出来 但无非就是 query1.Insert; query1.FieldByName('ID').asinteger:=strtoint(dbedit1.text); query1.Post; 或 query1.Edit; query1.FieldByName('ID').asinteger:=strtoint(dbedit1.text); query1.Post; 这样的格式吧。 用户输入后当然又进行了其他操作,回过头来才发现数据丢失了
S soit Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-22 #8 补充一点: 丢失数据是不定的,我是做了一个循环批量存入数据 先做一个query从表1中查出所有要修改的人的记录 然后 query1.first; while not query1.eofdo begin ...{这里是修改数据的过程} query2.locate('ID',query1.fieldbyname('id').asinteger,[]); query2.Edit;{query2就是那个DBGRID的内容} query2.FieldByName('ID').asinteger:=strtointdbedit1.text); query2.Post; query1.next; end; 我觉得这个办法好笨,希望不要气坏了各位大侠
补充一点: 丢失数据是不定的,我是做了一个循环批量存入数据 先做一个query从表1中查出所有要修改的人的记录 然后 query1.first; while not query1.eofdo begin ...{这里是修改数据的过程} query2.locate('ID',query1.fieldbyname('id').asinteger,[]); query2.Edit;{query2就是那个DBGRID的内容} query2.FieldByName('ID').asinteger:=strtointdbedit1.text); query2.Post; query1.next; end; 我觉得这个办法好笨,希望不要气坏了各位大侠
L lhxu Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-24 #9 如果真如你所说,现象确实奇怪. 我建议你用 query的 sql语句 来增删改记录
C cytown Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-25 #10 是什么DB?试一试SQL语句,如果还出现问题,应当是数据库原因,或你程序中 其他地方删除了数据库。