木子屋 Dnawo's BLOG

分类:Web编程

共 944 篇

C#泛型简介

简介 泛型是 C# 2.0 的最强大的功能。通过泛型可以定义类型安全的数据结构,而无须使用实际的数据类型。这能够显著提高性能并得到更高质量的代码,因为您可以重用数据处理算法,而无须复制类型特定的代码。在概念上,泛型类似于 C++ 模板,但是在实现和功能方面存在明显差异。本文讨论泛型处理的问题空间、它们的实现方式、该编程模型的好处,以及独特的创新(例如,约束、一般方法和委托以及一般继承)。您还将了解在 .NET Framework 的其他领域(例如,反射、数组、集合、序列化和远程处理)中如何利用泛型,以及如何在所提供的基本功能的基础上进行改进。 泛型问题陈述 考虑一种普通的、提供传统 Push() 和 Pop() 方法的数据结构(例如,堆栈)。在开发通用堆栈时,您可能愿意使用它来存储各种类型的实例。在 C# 1.1 下,您必须使用基于 Object 的堆栈,这意味着,在该堆栈中使用的内部数据类型是难以归类的 Object,并且堆栈方法与 Object 交互:…

SQL Server 用户库中系统表说明

名称 说明 备注 syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。   syscomments 包含每个视图、规则、默认值、触发器、CHECK 约束、DEFAULT 约束和存储过程的项。text 列包含原始 SQL 定义语句,其最大大小限制为 4 MB。 不应删除 syscomments 中的项。如果手工删除或修改 syscomments 中的项,则对应的存储过程将不能正常工作。若要隐藏或加密存储过程定义,请使用含有 ENCRYPTION 关键字的 Create PROCEDURE。 sysdepends 包含对象(视图、过程和触发器)与对象定义中包含的对象(表、视图和过程)之间的相关性信息。…

防止网站数据库被下载

对于站长来说,网站的核心就是数据库,如果被人下载到了,那这个网站也就岌岌可危了!对于数据库的防下载处理,通常是把数据库的格式由"MDB"改为"ASP",并在其中加入一个防下载的字段。 首先用Access打开MDB数据库,切换"对象"中的"表"为"查询",然后双击"在设计图中创建查询",在弹出的"显示表"窗口中,不添加任何表,直接点"关闭",这样在"工具栏"中就多了个"SQL"按钮,点击这个按钮或者在"查询"窗口中按鼠标右键,选择其中的"SQL视图",就会打开查询窗口,其实这个窗口就是Acces的SQL命令输入窗口。 接下来就可以创建防下载字段了,可以分两步进行: 第一步:先创建一个表,在SQL命令窗口输入以下内容:"Create Table ( olebject)",然后点击工具栏中的"!(运行)",这样,就会在当前数据库内创建一个nodown的表,其中的字段名称为"jmdcw",字段类型为"OLE对象"。…

防SQL注入不能滥杀无辜

我们先来看看新云网站管理系统 v3.1.0.1231的防SQL注入函数: 使用这段函数只要参数中包含"insert|select|delete|update"等字符就被认为是在注入,那么偏偏有时候我要搜索的就是"update"呢?对不起,不行!显然这已造成了使用上的不便。 再来看看FoosunCMS V4.0 Sp5 For ASP的防SQL注入函数: 和新云一样也是存在过滤过严的问题! 下边我们再看看PowerEasy® SiteWeaver™ CMS 6.5 Build 0128的防SQL注入函数: 看来动易程序员已经考虑到了滥杀的可能性,所以只有当"select|update|insert|delete"等字符前含有空格可才会被认为是在注入!不过个人认为注入时空格恐怕都应该在这些字符之后更多些吧?regEx.Pattern的值改为:…

使用MSSQL作业定时执行任务

使用MSSQL作业我们可以定时执行一些任务,比如数据库备份、更新记录等等。下边我们来定制一个任务:每隔一分钟往data数据库的table1表中插入一条记录。 1.依次展开"服务器→管理→SQL Server 代理→作业",在作业上点击右键选择"新建作业"; 2.在"常规"选项卡的名称一栏输入作业的名称(可任取); 3.切换到"步骤"选项卡,点击"新建"按钮来新建一个步骤,在弹出的编辑作业步骤窗口中:任意输入一个步骤名,选择所要操作的数据库data,命名一栏输入sql语句:insert into table1(username,age) values('xxx',20); 4.切换到"调度"选项卡,点击"新建调度"按钮,在弹出的编辑作业调度窗口设置作业执行的时间及频率即可。由于我们是要第隔一分钟执行任务,所以我们要选择"反复出现",并点击更改按钮,在编辑反复出现的作业调度窗口中:发生频率:每天,每天:每一天,每日频率:发生周期为1分钟起始于0:00:00始止于23:59:59,最后设置下持续时间即完成了本次作业的全部设置。…

Include,require,include_once,require_once的区别

include,require,include_once,require_once四个语句的作用都是在脚本执行期间包含并运行指定文件,它们的区别主要如下: include和require的区别: 在遇到包含文件不存在或是出错的时候,require就停止脚本运行并报错,而include则继续运行脚本。 include_once和require_once的区别: 它们的区别同include和require。 Include,require和include_once,require_once的区别: 同一个文件被多次包含的情况下,Include,require每次都会将它包含进来,而include_once,require_once确保只包含一次,这样就可以避免函数重定义、变量重新赋值等问题。

PHP访问Mysql数据库示例

<?php $conn=mysql_connect("localhost","root","123456") or die("数据库服务器连接失败!".mysql_error()); if(! mysql_select_db("test",$conn)){echo "数据库打开失败!".mysql_error();} //mysql_query("insert into table1 values(4,'mzwu.com')",$conn);//如果没有指定使用$conn,则使用上一个打开的连接 //mysql_query("update table1 set url='www.…