博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我自己遇到的一个随机无重复分配问题实例
阅读量:5100 次
发布时间:2019-06-13

本文共 1688 字,大约阅读时间需要 5 分钟。

网站需要一个随机无重复分配论文给不同专家评审的问题,要求每篇论文要有N个专家阅读,但是分配关系不能重复。

刚开始我确实是一点头绪也没有,本来是用C#在事件代码中写,各种循环嵌套,但是第三天早上的时候,突然想到,如果真正测试的时候数据多了,循环这么多层,相乘之后得执行很多次里面的插入存储过程,会很慢很慢,再加上测试点太远,所以果断舍弃这种做法。

然后我又上网各种找,发现游标。

说实话,我是完全0基础开始学习做网站,整套过程都得自学,因为是给老师做项目,学校项目通常都是给研究生做,所以本科生能有这个机会很不容易,我就零基础,硬着头皮上了。

mssql的知识还是不怎么完全,所以把游标研究了一下,然后把在C#中写的逻辑,在sql中重新捋了一遍,写完之后还是各种问题,主要是算法逻辑的问题,后来又改了几天,终于给写出来了。

我其实觉得.net挺强大的,那些控件的可编辑性挺高的,很方便。但是也觉得数据库的算法更NB,只是数据库的变通性不太好。现在应该说是出于纠结状态,我的习惯是把所以的算法都写到数据库,但是.net确实需要好好掌握掌握。

新手一个,还请大哥大师们多指教。

下面附上花了我好几天写出来的这个存储过程的代码:

 

1 USE [HLJSXKJSYYJSGLPT]  2 GO  3 /****** Object:  StoredProcedure [dbo].[LWDelivery]    Script Date: 04/24/2012 09:51:54 ******/  4 SET ANSI_NULLS ON  5 GO  6 SET QUOTED_IDENTIFIER ON  7 GO  8 -- =============================================  9 -- Author:        
10 -- Create date:
11 -- Description:
12 -- ============================================= 13 ALTER PROCEDURE [dbo].[LWDelivery] 14 @xkdm char(7), 15 @yjsflm char(1), 16 @lwcount char(5), 17 @lwpsbl char(5) 18 19 AS 20 BEGIN 21 SET NOCOUNT ON; 22 23 declare @sql nvarchar(4000) 24 set @sql='declare @j int 25 set @j=0 26 declare @myLWDM char(20) 27 declare @myZJHM char(18) 28 declare @compareLWDM char(20) 29 declare @compareZJHM char(18) 30 if('''+@yjsflm+'''=''1'') 31 begin 32 declare zjhmcursor cursor scroll for select ZJHM from T_DS where XKDM='''+@xkdm+''' and LWPSZJ=''是'' 33 end 34 else 35 begin 36 declare zjhmcursor cursor scroll for select ZJHM from T_DS where XKDM='''+@xkdm+''' and LWPSZJ=''是'' and ZDGX!=''2'' 37 end 38 open zjhmcursor 39 while(@j

转载于:https://www.cnblogs.com/captain7/archive/2012/04/26/2470970.html

你可能感兴趣的文章
H3C 配置CHAP验证
查看>>
H3C ICMP
查看>>
Python Numpy 介绍
查看>>
Android activity间通讯几种方式
查看>>
iOS cocoapods 怎么开源代码
查看>>
第十七节:类与对象-属性-类常量-自动加载对象
查看>>
【博客美化小妙招】你希望有一个可爱的看板娘吗?
查看>>
BZOJ.2159.Crash的文明世界(斯特林数 树形DP)
查看>>
c# 设计模式
查看>>
Android Service被关闭后自动重启,解决被异常kill 服务
查看>>
计蒜客复赛 百度地图导航(最短路,好题,经典拆点)
查看>>
经典排序算法的总结及Python实现
查看>>
【pwnable.kr】fb
查看>>
转-求解最大连续子数组的算法
查看>>
算法为啥子那么难【转】
查看>>
对数器的使用
查看>>
OracleOraDb11g_home1TNSListener服务启动后停止,某些服务在未由其他服务或程序使用时将自己主动停止...
查看>>
Redis用户添加、分页、登录、注册、加关注案例
查看>>
练习2
查看>>
【ASP.NET】演绎GridView基本操作事件
查看>>