最近一直在研究权限,今天终于把权限搞定了以后准备自己写个商城,对以后的帮助非常大的。下面简单谈谈关于权限的实现.权限主要分为以下三个类:用户、角色、权限表权限主要分为三个步骤:1、安装(初始化数据)管理员:(超级管理员)一个拥有所有权限的用户,这个用户在程序安装时就要初始化,权限数据:这个表主要存储权限的名字和url,这个权限主要有两个作用,一个是菜单的显示,其中一级菜单没有url只是分类的作用。2、权限的分配:权限的分配主要是针对某个角色和权限建立管理,
系统 2019-08-12 01:54:20 2149
创建临时表#Resultifobject_id('tempdb..#Result')isnotnulldroptable#Resultcreatetable#Result(EmployeeNMnvarchar(50),CriterionNamenvarchar(200),EvalPointsmallint)查询结果集添加到临时表insertinto#ResultSELECTH.EmployeeNMEmployeeNM,CriterionName+'@'+E
系统 2019-08-12 01:54:02 2149
新增INSERTINTOA(列名1,列名2)VALUES(列1的值,列2的值);查询select*from表名;删除deletefromtest.Awhere条件表达式修改updatetest.Asetid_no=5wheregrade=156421.0updatetest.Asetid_no=6,grade=grade*2wheregrade=156421.0清空表数据TRUNCATETABLE表名添加主键ALTERTABLE表名ADDPRIMARYKE
系统 2019-08-12 01:53:33 2149
dbms_stats包问世以后,Oracle专家可通过一种简单的方式来为CBO收集统计数据。目前,已经不再推荐你使用老式的分析表和dbms_utility方法来生成CBO统计数据。那些古老的方式甚至有可能危及SQL的性能,因为它们并非总是能够捕捉到有关表和索引的高质量信息。CBO使用对象统计,为所有SQL语句选择最佳的执行计划。dbms_stats能良好地估计统计数据(尤其是针对较大的分区表),并能获得更好的统计结果,最终制定出速度更快的SQL执行计划。下
系统 2019-08-12 01:53:17 2149
原文:防SQL注入:生成参数化的通用分页查询语句前些时间看了玉开兄的“如此高效通用的分页存储过程是带有sql注入漏洞的”这篇文章,才突然想起某个项目也是使用了累似的通用分页存储过程。使用这种通用的存储过程进行分页查询,想要防SQL注入,只能对输入的参数进行过滤,例如将一个单引号“'”转换成两个单引号“''”,但这种做法是不安全的,厉害的黑客可以通过编码的方式绕过单引号的过滤,要想有效防SQL注入,只有参数化查询才是最终的解决方案。但问题就出在这种通用分页存
系统 2019-08-12 01:53:06 2149
打开intopen(structinode*inode,structfile*filp);模块使用计数加1识别次设备号硬件操作检查设备相关错误(诸如设备未就绪或类似的硬件问题)如果设备是首次打开,则对其初始化如果有中断操作,申请中断处理程序关闭intrelease(structinode*inode,structfile*filp);模块使用计数减1释放由open分配的,保存在filp>private_data里的所有内容。硬件操作:如果申请了中断,则释放
系统 2019-08-12 01:52:23 2149
做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,存储过程动不动就是上千行,如果数据量大,人员流动大,那么我么还能保证下一段时间系统还能流畅的运行吗?我么还能保证下一个人能看懂我么的存储过程吗?那么我结合公司平时的培训和平时个人工作经验和大家分享一下,希望对大家有帮助。要知道SQL语句,我想我们有必要知道SQLServer查询分析器怎么执行我们的SQL语句的,我们很多人会看执行计划,或者用Profiler来监视和调优
系统 2019-08-12 01:52:17 2149
--删除表execsp_msforeachtable'droptable?'---删除存储过程DECLARE@STRINGVARCHAR(8000)WHILEEXISTS(SELECTNAMEFROMSYSOBJECTSWHERETYPE='P'ANDSTATUS>=0)BEGINSELECT@STRING='DROPPROCEDURE'+NAMEFROMSYSOBJECTSWHERETYPE='P'ANDSTATUS>=0--SELECT@STRINGE
系统 2019-08-12 01:52:14 2149
PIVOT用于将列值旋转为列名(即行转列),在SQLServer2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIVOT(聚合函数(列)FOR列in(…))ASP注意:PIVOT、UNPIVOT是SQLServer2005的语法,使用需修改数据库兼容级别(在数据库属性->选项->兼容级别改为90)SQL2008中可以直接使用完整语法:table_sourcePIVOT(聚合函数(value_column)FORpivot_columnI
系统 2019-08-12 01:33:02 2149
SQL2005清空删除日志:复制代码代码如下:BackupLogDNNamewithno_log--'这里的DNName是你要收缩的数据库名,自己注意修改下面的数据库名,我就不再注释了。godumptransactionDNNamewithno_loggoUSEDNNameDBCCSHRINKFILE(2)GoSQL2008清空删除日志:'在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。复制代码代码如下:USE[maste
系统 2019-08-12 01:33:02 2149