如何实现多用户添加、编辑同一个表,而不互相干扰?

思危 2006-11-20 06:16:18
在程序中, 我要对一个器材表(Equipment)进行录入新器材的操作。

现在的做法是使用数据库中的一个临时器材表(TempEquip),在其中一次性生成一台或多台器材记录、然后编辑、修改之后,将TempEquip导入正式表,如果用户放弃录入,则清空TempEquip,不导入正式表。

现在可能有多个用户使用该模块进行录入,如何才能保证各用户只能够看自己添加的器材。并编辑或是撤销(删除)它们,而不影响其它人录入的内容呢?

我原想在TempEquip加入用户ID字段,来区别录入的数据,但可能有同ID的用户使用(比如两个人同时使用A的身份). 或是使用临时表(#TempEquip)但似乎临时表只在一个存储过程中有效,出去就找不到了。

大家有什么好的办法,多多指点,谢谢啦! ^^
...全文
498 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
思危 2006-11-24
  • 打赏
  • 举报
回复
自己用 @@spid 解决了,这几天没来csdn结贴,谢谢大家了。
netcup 2006-11-22
  • 打赏
  • 举报
回复
jacky_gaoying(碧海长吟) ( ) 信誉:100 Blog
正解!
'我原想在TempEquip加入用户ID字段'
楼主的思路是正确的,不过,不能简单的加ID,要根据用户ID+MAC或者直接用GUID,根据唯一主健来确定一个单据的唯一.
fish_yht 2006-11-21
  • 打赏
  • 举报
回复
学习
蔡健常熟 2006-11-21
  • 打赏
  • 举报
回复
把数据缓冲在内存中,建立一个动态的SQL语句:

select 'A器材' as Name, 1000 as Amount,12345.65 as Price
Union all
select 'B器材' as Name, 1200 as Amount,22345.65 as Price

增加一个记录就增加一段Union all select ...语句组成一个记录集,更新数据时把这个记录集更新到表,如以上的数据集插入一个新表里就是
select a.* into NewTable from (select 'A器材' as Name, 1000 as Amount,12345.65 as Price Union all
select 'B器材' as Name, 1200 as Amount,22345.65 as Price) A
marco08 2006-11-21
  • 打赏
  • 举报
回复
學習
思危 2006-11-21
  • 打赏
  • 举报
回复
使用一个表在正式表之间作为中介是为了支持批录入和撤销

比如某用户可能一次要录入500条记录,这些记录中大部分字段是相同的,然后再对部分字段进行编辑.于是我在临时表里一次生成多条记录,然后由该用户进行编辑,最后提交正式表,如果用户放弃,则把这些记录删掉.

现在有多个用户进行录入,我希望每个人的录入\撤销是独立的,互不影响.

不放在客户端作,主要是觉得可能一次录入几百条记录,觉得用Add在客户端插入大量数据效率有点低.而且该器材的正式表有十几万条记录,如果在录入的同时还要判断某些字段是否冲突/重复有点低效,所以在临时表里完成编辑后,在服务器上用存储过程转入正式表时进行判断。

不知道我描述的是否清楚,大家给点建议好了,我数据库开发比较少,见笑了。

谢谢 邹建 老大和 Hopewell_Go 朋友的关注, ^^
jacky_gaoying 2006-11-21
  • 打赏
  • 举报
回复
我觉得楼主应该在客户端UI层实现录入,先连接一次数据库,将基础数据取出,在UI层加工处理,并完成验证,然后再提交到数据库;如果楼主一定要用临时表,那完全可以根据用户ID,Computer Name,Time,客户端进程号来建主键,这样无论如何都不会重复了.
我个人更喜欢直接在主表中Insert数据,当然也是以用户ID,Computer Name,Time,客户端进程号为主键,如果担心并发冲突,可以使用IsolationLeavel(事务的隔离级别)
cceon 2006-11-21
  • 打赏
  • 举报
回复
顶一下
Well 2006-11-20
  • 打赏
  • 举报
回复
可以在表里添加一个登入ID,这样就可以分开。。要是公用就大家可以修改
Well 2006-11-20
  • 打赏
  • 举报
回复
自己添加自己的,什么意思?
在其它数据库里可以用到,就是全局临时表。。
zjcxc 元老 2006-11-20
  • 打赏
  • 举报
回复
从另一个角度来考虑问题, 完全独立的用户编辑, 楼主应该在客户端本机缓存数据(比较用datatable/xml), 处理完成后再一次提交服务器.
与服务器或者是其他用户没有什么关联的临时性缓存不应该放在服务端
zjcxc 元老 2006-11-20
  • 打赏
  • 举报
回复
难道不同用户的操作是完全独立的? A用户的器材表, B用户肯定不会用到?

有点不能理解楼主的业务逻辑.

一般来说, 器材表是公用的, 谁都可以去编辑它, 但这种编辑不是在线的编辑, 而是先把数据取到客户端, 取完后与服务器的连接就关闭了, 用户编辑完成后, 再连接服务器提交结果.

不会是长久的占有资源.
gc_ding 2006-11-20
  • 打赏
  • 举报
回复
帮顶
渭河流域位于中国黄河中游地区,是黄河的重要一级支流流域,地理范围主要涵盖陕西省中部、甘肃东部和宁夏部分地区。该流域自西向东延伸,总长约818公里,流域面积广阔,人口密集,是我国重要的农业与工业带,同时也是西北地区经济、文化与生态发展的核心区域之一。渭河流域水系发育完善,除干流外,还包括泾河、洛河、沣河、滈河等多条支流,构成了完整的河网体系,对黄河流域的水资源调配与生态安全具有重要意义。 本数据集提供了渭河流域矢量边界及河流分布的标准化shp文件,包含以下文件: (1)可编辑MXD文件:可直接在 ArcGIS 中打开,用户可进行二次编辑、专题制图及空间分析,方便科研、教学与管理应用。 (2)标准SHP文件:包含渭河流域边界矢量数据以及干流与主要支流的矢量化河流线条,属性中附带河流名称、流域隶属等信息,便于查询与叠加分析。 (3)标准成图TIF文件:输出高清、规范的地图成果,能够直观展示渭河流域整体边界与内部河流分布格局,可用于汇报、展示与出版。 本资源可广泛应用于流域水资源管理、生态环境保护、土地利用研究、洪涝灾害评估等领域,同时也能为流域综合治理、生态修复规划、水文模拟与地理建模提供基础支撑。通过与其他数据(如DEM、土地覆盖、气象数据)叠加使用,还能开展更加深入的多源数据分析,为黄河流域高质量发展与区域生态安全提供科学依据。
一、商户信息管理模块 商户入驻与审核 商户在线提交入驻申请,上传营业执照、经营许可证、卫生许可证(餐饮类)等资质文件,填写基本信息(商户名称、经营范围、地址、联系方式、营业时间等)。 景区管理员对申请进行审核,通过后生成唯一商户编号,商户可登录系统完善详情(店铺简介、环境照片、特色产品等)。 商户分类与标签管理 按经营类型分类:餐饮住宿(民宿、餐馆)、旅游商品(手工艺品、特产店)、体验项目(骑马、漂流)、便民服务(超市、药店)等。 为商户添加特色标签(如 “清真餐饮”“亲子友好”“网红打卡地”),便于游客精准筛选。 商户信息维护 商户可更新店铺状态(营业 / 暂停 / 歇业)、修改营业时间、发布临时公告(如 “今日特价活动”)。 管理员可查看商户运营数据,对违规商户进行警告、限期整改或暂停合作处理。 二、商户运营监管模块 商品与服务管理 商户上传商品 / 服务信息(名称、价格、规格、图片),餐饮类需标注食材来源、口味特色;体验类需注明安全须知、时长。 支持价格调整记录,系统自动留存价格变动日志,便于监管部门核查是否存在乱收费现象。 游客消费与投诉处理 对接支付系统,记录游客在商户的消费数据(匿名化处理,仅统计交易金额、频次)。 游客可通过系统提交对商户的投诉(服务态度、商品质量、价格问题等),上传凭证(照片、聊天记录),系统自动通知商户限期回应,管理员跟踪处理结果。 评分与信用管理 游客消费后可对商户进行星级评分(1-5 星)及文字评价,评价内容需经管理员审核后展示。 系统根据评分、投诉处理率、违规记录生成商户信用等级,信用过低的商户将被限制曝光或强制整改。 三、景区资源与活动管理 商户资源调度 针对景区内共享资源(如摊位、停车场、公共休息区),商户可在线申请使用时段,管理员审核分配,避免资源冲突。 记录资源使用情况,按规定收取管理费,生成缴费提醒与票据。

34,871

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧