网站和客户端公用一个数据库的问题 读写都没问题。现在是如果客户端读的时候 ,网站也在操作。可能会造成数据不完整或者其他意想不到的问题。有没有什么方法解决这个? 我用ado 连接 mysql 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这么着, 客户端的任务是从数据库中读出字段值,并自动对值加一写回。同事,网页也有加一写入行为。 不确定什么时候会触发。 所以,发生碰车(都同时写入) 就会产生我预想的问题……数据库没法换了,必须用mysql。 兄弟们有没有经验? 自动对值加一写回,都仅仅使用sql:update tbxxx set fxx=fxx+1 where ...而不能使用xxx.fields[i].asinteger:=xxx.fields[i].asinteger+1; 使用xxx.fields[i].asinteger:=xxx.fields[i].asinteger+1;打开的时候,xxx.fields[i].asinteger当时为100网页可能加了几次,改为105了而使用xxx.fields[i].asinteger:=xxx.fields[i].asinteger+1;又把它改为101了!update语句,则始终是对最新的值(105)再加一 解法就是都使用sql:update tbxxx set fxx=fxx+1 where ...而不能使用xxx.fields[i].asinteger:=xxx.fields[i].asinteger+1; sql:update tbxxx set fxx=fxx+1 where ...对Image数据不能更新 【这么着, 客户端的任务是从数据库中读出字段值,并自动对值加一写回。同事,网页也有加一写入行为。 不确定什么时候会触发。 所以,发生碰车(都同时写入) 就会产生我预想的问题……】Image数据会加一写回 查找一下乐观锁!解决办法一般有二种:时间戳或版本号(即在数据库中加一个字段)由于ADO这个东西在查询完数据后会把数据放到本地的缓存中,所以当网站与D端同时访问数据后,会在缓存中存一些映像数据。当二个以上客户端在进行更新数据时,往往后更新的动作会把先更新的数据给覆盖掉。基于这个原因,可以在字段后加一个标识,来标识这个记录的版本信息,当数据在网站端被更新后,版本号加1.这时Delphi端也要提交时,就应该先装载记录,判断当前数据库中的版本是否与本地内存的一致。不一致的话,重新LOAD。 想通过指针偏移获取静态数组内容,请问哪里错了? delphi中数组转换的问题? 如何将查询结果导出为excel表?? 年后准备去上海发展,散分200 有谁知道李维的邮箱? delphi GPIB开发 使用dbgrid或ehlib的dbgrideh怎样完成以下的表格啊? 如何找到指定的字符在某一字符串中出现的每一次的位置? 如何使右侧的滚动条自动拖到底端以显示 RichEdit 最新添加的文本行? 列位同仁有没有使用Delphi程序将SQL SERVER 中的数据倒入Access中,怎么做? 请教高手:关于获取PSafeArray数据的问题 gearbox 5.0 能给个下载地址吗?
同事,网页也有加一写入行为。
不确定什么时候会触发。 所以,发生碰车(都同时写入) 就会产生我预想的问题……数据库没法换了,必须用mysql。
兄弟们有没有经验?
而不能使用xxx.fields[i].asinteger:=xxx.fields[i].asinteger+1;
打开的时候,xxx.fields[i].asinteger当时为100
网页可能加了几次,改为105了
而使用xxx.fields[i].asinteger:=xxx.fields[i].asinteger+1;又把它改为101了!update语句,则始终是对最新的值(105)再加一
都使用sql:update tbxxx set fxx=fxx+1 where ...
而不能使用xxx.fields[i].asinteger:=xxx.fields[i].asinteger+1;
对Image数据不能更新
同事,网页也有加一写入行为。
不确定什么时候会触发。 所以,发生碰车(都同时写入) 就会产生我预想的问题……】Image数据会加一写回
解决办法一般有二种:时间戳或版本号(即在数据库中加一个字段)由于ADO这个东西在查询完数据后会把数据放到本地的缓存中,所以当网站与D端同时访问数据后,会在缓存中存一些映像数据。当二个以上客户端在进行更新数据时,往往后更新的动作会把先更新的数据给覆盖掉。基于这个原因,可以在字段后加一个标识,来标识这个记录的版本信息,当数据在网站端被更新后,版本号加1.这时Delphi端也要提交时,就应该先装载记录,判断当前数据库中的版本是否与本地内存的一致。不一致的话,重新LOAD。