实现一个用户取过的数据不被其他用户取到:

  问题:

  在用ADO访问数据库时,从一个表中取一定的记录(比如20行),取出后在程序中使用,使用完后删除掉记录(不用更新或删除记录)。在多用户操作下(每个用户采用相同的操作),如何保证一个用户已选取的记录不被其他用户选取?

  解决方法:

  处理此类问题的一般方法是增加一个标志列,每个用户取的记录设置一个标志,新的用户只从标志为未取的记录中获取记录。

  在本文中将会利用事务与锁来控制数据的处理,不需要增加任何标志列。

  解决的具体示例:

  1.建立测试环境

USE tempdbGOCREATE TABLE dbo.tb(id int identity(1, 1), name nvarchar(128))INSERT tb(name)SELECT TOP 100 nameFROM syscolumnsGO

  2.模拟第1个用户

-- 查询窗口发出下面的查询语句BEGIN TRAN-- 事务不提交或者回滚, 以保持锁不释放SET ROWCOUNT 20SELECT * FROM tb WITH(UPDLOCK, READPAST)-- UPDLOCK 让锁保留到事务结束, READPAST 跳过已经锁定的数据

  3. 模拟第2个用户(语句与第1个用户一样,只是在另一个连接中执行)

-- 查询窗口发出下面的查询语句BEGIN TRAN-- 事务不提交或者回滚, 以保持锁不释放SET ROWCOUNT 20SELECT * FROM tb WITH(UPDLOCK, READPAST)-- UPDLOCK 让锁保留到事务结束, READPAST 跳过已经锁定的数据

  4.结果

  大家可以看到:查询窗口1列出了前20条数据,查询窗口1列出了21-40条数据。

  此时就实现了不同的用户取不同数据的需求.

  注释::在 处理完成后, 删除记录, 然后提交事务就可以了。

转载于:https://www.cnblogs.com/gooddasenlin/archive/2011/05/27/2059684.html

实现一个用户取过的数据不被其他用户取到相关推荐

  1. python爬取网页实时数据_使用 Python 爬取网页数据

    1. 使用 urllib.request 获取网页 urllib 是 Python 內建的 HTTP 库, 使用 urllib 可以只需要很简单的步骤就能高效采集数据; 配合 Beautiful 等 ...

  2. python爬取京东手机数据_用scrapy爬取京东的数据

    本文目的是使用scrapy爬取京东上所有的手机数据,并将数据保存到MongoDB中. 一.项目介绍 主要目标 1.使用scrapy爬取京东上所有的手机数据 2.将爬取的数据存储到MongoDB 环境 ...

  3. python爬虫抓取动态网页数据_python网络爬虫抓取ajax动态网页数据:以抓取KFC门店地址为例...

    一,尝试用BeautifulSoup抓取 先打开KFC网站门店列表页面:http://www.kfc.com.cn/kfccda/storelist/index.aspx 可以看到门店列表如下图: 打 ...

  4. python 爬取链家数据_用python爬取链家网的二手房信息

    题外话:这几天用python做题,算是有头有尾地完成了.这两天会抽空把我的思路和方法,还有代码贴出来,供python的初学者参考.我python的实战经历不多,所以代码也是简单易懂的那种.当然过程中还 ...

  5. python爬虫爬取58网站数据_Python爬虫,爬取58租房数据 字体反爬

    Python爬虫,爬取58租房数据 这俩天项目主管给了个爬虫任务,要爬取58同城上福州区域的租房房源信息.因为58的前端页面做了base64字体加密所以爬取比较费力,前前后后花了俩天才搞完. 项目演示 ...

  6. python爬取b站数据_使用Python爬取B站全站视频信息

    B站我想大家都熟悉吧,其实 B 站的爬虫网上一搜一大堆.不过纸上得来终觉浅,绝知此事要躬行,我码故我在.最终爬取到数据总量为 760万条. 准备工作 首先打开 B 站,随便在首页找一个视频点击进去.常 ...

  7. python爬取历史天气数据并保存_Python爬取天气网历史天气数据

    我的第一篇博客,哈哈哈,记录一下我的Python进阶之路! 今天写了一个简单的爬虫. 使用python的requests 和BeautifulSoup模块,Python 2.7.12可在命令行中直接使 ...

  8. python爬取多页数据_python爬虫实现爬取同一个网站的多页数据代码实例

    本篇文章小编给大家分享一下python爬虫实现爬取同一个网站的多页数据代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 一.爬虫的目的 从网上获 ...

  9. python爬取拼多多数据_Python---数据的爬取与存储

    这几天学习了如何爬取数据及保存为csv格式:本文则是通过伊利股票股份[600887]来演示. 1.金融数据获取 通过Pandas_Datareader.data的Datareader函数来获取: 1. ...

最新文章

  1. php复制mysql文件路径_与php 有关的问题 如何将上传的文件路径 保存到数据库中...
  2. laravel(二):laravel基本入门 看到Hello Laravel
  3. 从安全视角来看LXD容器管理程序
  4. iOS开发:通过经纬度获得城市、省份等信息
  5. JQuery. Parse XML children recursively. How? - Stack Overflow
  6. linux access源码,从零开始学习Linux:Day04 源码安装Nginx 。acess/status/referer
  7. vscode 网页版
  8. SQL Server2005杂谈(5):将聚合记录集逆时针和顺时针旋转90度(行列互换)
  9. 大学计算机社团学什么好,大学哪些社团组织最值得加入?很多人工作后才知道!...
  10. LoadRunner正确的登录压力测试方法实战
  11. java3d读取3ds文件,基于Java3D与3DSMAX的虚拟校园设计
  12. CRC8校验算法总结
  13. 《剑指offer》之知识汇总
  14. Arduino基本知识(marlin固件配置)
  15. 给机器人罗宾写一封英语回信_人教版pep小学英语三年级起点六上单词和习惯用语朗读mp3+文本Unit1...
  16. 一个大二计算机学生的学期总结(2022末年)
  17. Nginx模块开发系列1--预备知识
  18. LeetCode--574. 当选者
  19. python英文分句_教你如何对英文段落进行分句
  20. 数据库 嵌套查询_联接操作与嵌套查询 数据库管理系统

热门文章

  1. php 跳转qq群代码_邪少xml论坛qqxml代码—QQ音乐可播放框架QQ群任意跳转个人网站链接引流...
  2. 【51Nod - 1416】两点 (dfs 或 并查集+dfs)
  3. 【HDU - 1847】Good Luck in CET-4 Everybody! (巴什博奕,PN图或sg函数)
  4. matlab 自适应噪声对消,基于Matlab的RLS自适应语音噪声对消系统的设计与实现
  5. oracle查效能,【DataGuard】Oracle 11g物理Active Data Guard实时查询(Real-time query)特性...
  6. ios 计算两个时间相差秒数_Ios中时间差的计算,NSData与NSCalendar(日历)对象
  7. 如何将mysql的数据库渲染到页面_vue.js实现数据库的JSON数据输出渲染到html页面功能示例...
  8. mysql memcached java_java缓存技术memcached实例
  9. flux react php,Vue的Flux框架之Vuex状态管理器
  10. 尼尔机器人技能快捷键_《尼尔机械纪元》连招操作技巧