随笔分类 -  MS SQL Server

摘要:实施Syteline system, 在authorizations时,经常需要写的几个SQL语句,因此把它写成存储过程,在使用时,执行这些存储过程即可,纯粹是为了方便工作。取到所有用户:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->CREATEPROCEDURE[dbo].[usp_SyteLine_GetUserNames]ASSELECT[userId],[username],[userDesc]FROM[dbo].[UserName 阅读全文
posted @ 2010-12-07 18:26 Insus.NET 阅读(714) 评论(1) 推荐(2) 编辑
摘要:Server Error in '/Engtek' Application. Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI10" for linked server "DB1". The provider supports the interface, but returns a failure code when it is used.Description: An unhandled excep 阅读全文
posted @ 2010-10-18 15:07 Insus.NET 阅读(1211) 评论(0) 推荐(3) 编辑
摘要:Your account has been locked out. Please contact the system administrator for further assistance.Infor Syteline 的sa 帐号锁定在系统里。正常来说,需要等待30分钟,才会自动解锁。这个等待令人觉得漫长,是否有更快的方法,可以在SQL Server App DataBase运行下面script:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- 阅读全文
posted @ 2010-09-20 11:18 Insus.NET 阅读(1706) 评论(0) 推荐(2) 编辑
摘要:Infor ERP SyteLine 如果应用MS SQL Server 2008 R2 64bit的话,需要启用 CLR(Common Language Runtime)。此动作只需要Infor SyteLine DataBase Server设置即可。启用方法如下:Open SQL Server Management Tools, New Query,拷贝下面语法到Query窗口,然后执行:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 阅读全文
posted @ 2010-08-24 22:50 Insus.NET 阅读(579) 评论(0) 推荐(1) 编辑
摘要:一个表数据是从Excel中导入,经过下面的操作,发现有重复的记录。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECT[Partno]FROM[dbo].[Loose04]检索出3642行记录。而用下面的SQL语句,检索出3641行记录。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 阅读全文
posted @ 2010-07-28 09:30 Insus.NET 阅读(491) 评论(0) 推荐(1) 编辑
摘要:用户经常需要把Excel的数据导入SQL中,只有这样先导入到一个表中,然后再对这个表进行处理。由于目标表的数据不能清空。数据存在的,需要作更新动作,不存在的,需要做插入动作。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->DECLARE@NINT=1DECLARE@ROWSINT=(SELECTMAX([ID])FROM[dbo].[Loose04])WHILE@N<=@ROWSBEGIN--宣告临时变量,存储每笔记录需要异动的字段 阅读全文
posted @ 2010-07-28 09:07 Insus.NET 阅读(333) 评论(0) 推荐(1) 编辑
摘要:[Fqa]表与[FqaVisual]表,是一对多的关系,即是说[FqaVisual]表中有一[FqaId]字段是FOREIGN KEY也是[Fqa]表的主键。还有一点重点,就是[Fqa]表的[VisualPassed]字段,与[FqaVisual]表的[Result]字段,这两个字段的数据类型均为BIT。当[VisulaPasswd]字段值为0时,[FqaVisual]表可添加一笔或多笔记录,但最后一笔记录的[Result]字段值为1,一旦[Result]字段值为1时,还要更新[Fqa]表的[VisualPassed]字段为1。当[VisulaPasswd]字段值为1时,无法再对[FqaVis 阅读全文
posted @ 2010-07-21 10:10 Insus.NET 阅读(409) 评论(0) 推荐(1) 编辑
摘要:在aspx页面中检查用户拥有访问此页权限之后,即可检查到用户是否拥有相关的操作权限,如“添加”,“编辑”,“更新”,“删除”等操作权限。存储过程:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[dbo].[usp_CheckOperationAction](@UsersIdint,@PagesIdint,@Operation 阅读全文
posted @ 2010-07-17 13:44 Insus.NET 阅读(1230) 评论(4) 推荐(1) 编辑
摘要:如何实现用户是否有访问页面的权限,我们可以在asp.net的Page_Load中,取得当前网页名称与当前用户,来检查到用户是否有对此页访问权。可以通过检索[UsersRole]表和[UsersModule]表,是否有相关记录,如果有即有访问权限,反之,即是拒绝访问。存储过程:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[d 阅读全文
posted @ 2010-07-17 13:22 Insus.NET 阅读(951) 评论(1) 推荐(2) 编辑
摘要:用户与模块关系功能,您可以写成跟用户与角色关系一样。不过下面实现方法会看到更多的权限控制。介面如下截图:数据表结构如下:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[UsersModule]([UsersId][int]NOTNULL,[ModuleId][smallint]NOTNULL,[Purview][int] 阅读全文
posted @ 2010-07-13 17:14 Insus.NET 阅读(1054) 评论(2) 推荐(2) 编辑
摘要:把控制的页面分类,即以模块来分类,如同角色所拥有页面一样,最终我们只为用户分配某一模块,来控制到用户只能访问相关的页面。asp.net前端介面:在数据库,表[ModulePages]结构如下,代码参考角色与页面关系表结构一样:实现为模块分配页面的事件,还得写分配事件的存储过程:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[ 阅读全文
posted @ 2010-07-13 16:40 Insus.NET 阅读(679) 评论(1) 推荐(2) 编辑
摘要:权限管理,不但有角色大方面来控制用户所拥有的权限,还是以模块来控制,这样可以让权限分得更细些。这方法与角色管理表结构与存储过程是一样的,只是一些表名写字段名称不一样而已。在asp.net后台管理介面如下截图:数据表[Module]结构如下:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Module]([ModuleId 阅读全文
posted @ 2010-07-13 15:43 Insus.NET 阅读(975) 评论(1) 推荐(1) 编辑
摘要:做权限管理,我们要做好某一个角色所拥有的控制页面,因此,会在数据库中,建立一张[RolePages]来存储角色与控制页面的关系信息。在Asp.net介面,如下示图:表结构如下:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[RolePages]([RoleId][smallint]NOTNULL,[PagesId][int 阅读全文
posted @ 2010-07-13 14:54 Insus.NET 阅读(874) 评论(0) 推荐(1) 编辑
摘要:权限管理,必涉及到用户与角色关系。下面的做法,是对某一个用户授权拥有某个角色。一个用户可拥有多个角色。建立一张表[UsersRole]其中有三个字段,[UsersId]注册用户ID,[RoleId]角色表的主ID,还有一个字段[IsEnable]数据类型为BIT是记录用户是否拥有此角色。表的结构如下:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREAT 阅读全文
posted @ 2010-07-13 14:27 Insus.NET 阅读(1626) 评论(1) 推荐(2) 编辑
摘要:下面示图为角色管理介面。在数据表[Role]中,最少需要两个字段[RoleId]和[RoleName]。Project中所有角色在此介面进行管理。下面为表[Role]结构,直接拷贝在sql Server2008查询分析器执行:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->ETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Role]([RoleId][smallint]ID 阅读全文
posted @ 2010-07-13 14:15 Insus.NET 阅读(771) 评论(0) 推荐(1) 编辑
摘要:在Project中,实现权限管理,首先要管理好需要权限控制的页面,因此,我们可以在SQL Server建立一个表[Pages]来存储页面。下面为表[pages]结构,可参考:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Pages]([PagesId][int]IDENTITY(1,1)NOTNULL,[PagesNam 阅读全文
posted @ 2010-07-13 13:59 Insus.NET 阅读(1168) 评论(1) 推荐(2) 编辑
摘要:CASE表达式是一个标量表达式。它无法象C#程式一样,可以控制一条语句,实现条件逻辑流程处理。只能根据条件逻辑返回某个值。下面有一个xml文件代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?xmlversion="1.0"encoding="utf-8"?><Intervales><Interval><IntervalId>0</Interv 阅读全文
posted @ 2010-07-12 09:51 Insus.NET 阅读(404) 评论(0) 推荐(1) 编辑
摘要:我们可以在专案中,实现用户登录日志记录。简单实现方法,如下:在数据中建立一张表,存储一些相关的信息。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[LoginLog]([LoginLogId][int]IDENTITY(1,1)NOTNULL,[UsersId][int]NOTNULL,[IP][nvarchar](20) 阅读全文
posted @ 2010-07-12 09:42 Insus.NET 阅读(2744) 评论(7) 推荐(1) 编辑
摘要:SQL语句,当WHERE条件需要搜索工号为16或工号为2的雇员姓名时,需用到OR关键词如:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECT[EmployeeName]FROM[Employee]WHERE[WorkNumber]=16OR[WorkNumber]=2但是,上面SQL语句会涉及效率与性能问题,因为重写上面SQL语句:Code highlighting produced by Actipro CodeHighlight 阅读全文
posted @ 2010-07-01 17:26 Insus.NET 阅读(980) 评论(3) 推荐(1) 编辑
摘要:编写存储过程时,如果需要对表添加一个字段,或是修改表的字段时,首先判断字段是否已经存在表中,可以以下面语法进行判断:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->IFNOTEXISTS(SELECTnameFROMsyscolumnswhereid=OBJECT_ID('表名')ANDsyscolumns.name='字段名')PRINT'字段不存在。'ELSEPRINT'字段已经存在 阅读全文
posted @ 2010-07-01 16:24 Insus.NET 阅读(577) 评论(1) 推荐(1) 编辑