CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

多用户可能同时更改SQL-2000数据库的问题~~~~~~~~~~~~紧急紧急,高分高分!!!!!

楼主sonymanzzzzzz(小凯)2003-09-01 22:50:36 在 VB / 数据库(包含打印,安装,报表) 提问

可能有多个用户同时打开1个界面,现在想要避免多个用户同1时刻按下SAVE按钮导致的错误,这个SAVE按钮的代码该如何改正啊?(就是其中的“限制”的计算)  
   
  我现在的代码如下:  
  Private   Sub   Combo62_Click()  
  Dim   cB62   As   String  
  '课程时间段选择  
  Combo2.Clear  
  cB62   =   "select   uclassA.课程时间段   from     uCoursesInfo,uclassa   "   &   _  
                "where     uclassA.课程代号=uCoursesInfo.课程代号   "   &   _  
                "and   uCoursesInfo.课程名称='"   &   Combo62.Text   &   "'"   &   "   and   uCoursesInfo.所属系别='"   &   LabSP.Caption   &   "'"   &   "   and   uCoursesInfo.课程类别='专业课'"   &   _  
                "   and   uClassA.限制>0"  
   
  aduClassA.Close  
  aduClassA.Open   cB62  
   
  If   aduClassA.RecordCount   <>   0   Then  
                  Do   While   Not   aduClassA.EOF  
                        Combo2.AddItem   aduClassA.Fields("课程时间段")   '向Combox中添加数据  
                      aduClassA.MoveNext  
                  Loop  
          Else  
                        Combo2.AddItem   ""  
  End   If  
  end   sub  
   
   
  SAVE按钮中的代码如下:  
  Dim   yY62   As   Integer  
  Dim   Xsql62   As   String  
  Dim   rsClassA62   As   ADODB.Recordset             'uClassA中教室限制的计算  
  Dim   rsAClassA62   As   ADODB.Recordset             'uClassA中教室限制的计算  
   
  Set   rsClassA62   =   New   ADODB.Recordset  
  With   rsClassA62  
          .CursorType   =   adOpenStatic  
          .CursorLocation   =   adUseClient  
          '.LockType   =   adLockReadOnly  
          .LockType   =   adLockOptimistic  
          .Open   "select   *   from   uClassA",   conDB  
  End   With  
   
  Set   rsAClassA62   =   New   ADODB.Recordset  
  With   rsAClassA62  
          .CursorType   =   adOpenStatic  
          .CursorLocation   =   adUseClient  
          '.LockType   =   adLockReadOnly  
          .LockType   =   adLockOptimistic  
          .Open   "select   *   from   uClassA",   conDB  
  End   With  
   
  Xsql62   =   "select   uClassA.限制   from   uClassA,uCoursesInfo   where   uCoursesInfo.课程名称='"   &   Combo62.Text   &   "'"   &   _  
                  "   and   uCoursesInfo.所属系别="   &   "'"   &   LabSP.Caption   &   "'"   &   _  
                  "   and   uClassA.课程代号=uCoursesInfo.课程代号"  
  rsAClassA62.Close  
  rsAClassA62.Open   Xsql62  
  yY62   =   rsAClassA62!限制   -   1  
  Dim   DeC62   As   String  
  DeC62   =   "update   uClassA   set     限制="   &   yY62   &   "   where   uClassA.课程代号="   &   SaveRscourse!课程代号  
  rsClassA62.Close  
  rsClassA62.Open   DeC62  
  Set   rsClassA62   =   Nothing  
  Set   rsAClassA62   =   Nothing  
   
   
   
   
  问题点数:100、回复次数:7Top

1 楼canyqf()回复于 2003-09-01 22:57:58 得分 0

“限制”字段最好用用户标识吧,你这样不知道那个用户在操作。Top

2 楼HZCNC(流浪的草鞋)回复于 2003-09-01 23:11:50 得分 0

临界资源:  
  数据库设计的重点~  
  建议找些系统的看一下~Top

3 楼sonymanzzzzzz(小凯)回复于 2003-09-01 23:50:31 得分 0

具体应该怎么做啊?能提供代码么?--我现在真的是手足无措了,各位大侠多谢啦!!!!!Top

4 楼Gelim(Gelim)回复于 2003-09-01 23:56:30 得分 0

加锁!Top

5 楼marious(胡子)回复于 2003-09-02 00:05:01 得分 0

ADO允许多用户同时使用同一数据,因此为了防止写入冲突,recordset对象的locktype属性控制这种情况,其中保守锁(adlockpessimistic),ADO全力保证编辑成功;开放锁(adlockoptimistic),ado不保证成功,当两个用户同时或接近同时改变同一数据,则第二个编辑失败。Top

6 楼wdwd05(学.NET,从头开始)回复于 2003-09-02 09:46:38 得分 0

提供给你一个,简单明了的办法   ~  
   
  用事务去做~  
   
  就可以解决你的问题~~`Top

7 楼ElsaSun(睡着了的猫猫)回复于 2003-09-07 22:13:17 得分 100

加锁呀adlockpessimisticTop

相关问题

  • 数据库问题,紧急。高分
  • MIDAS 连接SQL数据库时应用程序服务器无响应,紧急求救,给出最高分!!!!!
  • 紧急,关于数据库函数sql server在线等待,quick!!!!
  • 紧急呼救 一个SQL SERVER数据库连接问题
  • 紧急求助关于连接SQL数据库的问题
  • 与SQL SERVER数据库连接的问题(紧急!!)
  • 100分紧急求助!ACCESS数据库问题
  • Analysis Services 连接数据库问题,万分紧急!!
  • 紧急求助:怎样把domino的数据库内容转移/同步到关系型数据库(sql server)中?
  • 紧急--数据库恢复????

关键词

  • 课程
  • 用户
  • 代码
  • 数据
  • ado
  • uclassa
  • ucoursesinfo
  • aduclassa
  • rsclassa
  • rsaclassa

得分解答快速导航

  • 帖主:sonymanzzzzzz
  • ElsaSun

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo