博文
(翻译)在Access2000使用存储过程进行参数查询(ASP.NET)(2007-10-13 15:07:00)
摘要:不像SQLSERVER存储过程,Access2000参数查询不支持多操作或者输出参数。
现在将作者的设计思路列出来:
数据库存储过程设计(Access2000)
插入查询:
PARAMETERS text1 Text ( 50 ), long1 Long, date1 DateTime;
INSERT INTO datatable ( textfield, numberfield, datefield )
VALUES (text1, long1, date1);
选择查询:
SELECT *
FROM datatable;
更新查询:
PARAMETERS text1 Text ( 50 ), long1 Long, date1 DateTime, longId Long;
UPDATE datatable SET datatable.textfield = text1, datatable.numberfield = long1, datatable.datefield = date1
WHERE (((datatable.id)=[longId]));
删除查询:
PARAMETERS longId Long;
DELETE *
FROM datatable
WHERE (((datatable.id)=[longId]));
例子代码实现过程(C#):
<%@ Page Language="C#" debug="true" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
void Button1_Click(object sender, EventArgs e) {
Label1.Text = "";
O......
探讨一下静态构造函数(一)(C#版)(2007-10-13 14:34:00)
摘要:静态构造函数是C#的一个新的特性。这里的"新"有别于C++。这是一个特殊的构造函数,它在创建类的第一个对象(实例)之前被调用。执行时间不能确定,但它肯定是创建实例之前。可能当时加载程序集。
下面看一下静态构造函数的代码语法:
public class myClass
{
static myClass()
{
}
}
构造函数的一些提示:
1)在一个类里面只有唯一的一个静态构造函数,即静态构造函数不能重载。
代码如下:
//这是允许的 ,因为它们在执行时间上面是完全不同的。
public class myClass
{
static myClass()
{
}
public myClass()
{
}
}
2)静态构造函数应该没有参数。这是因为静态构造函数由CLR来调用的,没有用户可以传递参数给它。
3)静态构造函数只可以存取类的静态成员。这是因为在类的实例成员具体到对象实例,因此静态函数如果允许运行实例成员,将会反应到所有对象实例的变化,这是不切实际的。
4)在静态函数的定义中不应该获得修改。这是因为静态函数的调用是由CLR来控制的,而不是对象。因此你不需要也无必要去修改。......
探讨一下构造函数中base和this的用法与区别(C#版)(2007-10-12 21:45:00)
摘要:这篇文章主要介绍一下在构造函数中base和this的用法和区别的。接下来的文章会陆续介绍一下静态变量和静态构造函数。希望大家能够将意见反馈给我。
代码最具有说服性了,看下面代码吧:
//代码段一
public class ConstructorProgram1
{
private string name;
public ConstructorProgram1()
{
Console.WriteLine("No Info Left");
}
public ConstructorProgram1(string name)
{
this.name = name;
Console.WriteLine("name=" + this.name);
}
}
这里我重载了另外一个构造函数,里面的this作为一个指针指示了一个类的引用。即是ConstructorProgram1类的引用。这个很简单,但不是重点。
这篇文章最重点要说一下:this和base在构造函数中扮演的角色。
看下面的代码:
public class ConstructorProgram
{
&......
当你实现接口和抽象成员时来避免矛盾的名字(C#版)(2007-10-12 16:51:00)
摘要:当你实现多个接口或单一接口时(C#允许多接口继承)和抽象成员时,如何来避免拥有矛盾名字的现象呢?先看下面的代码:
ie:
//第一个接口的声明
public interface Iinterface1{ void xyz();}
//第二个接口的声明
public interface Iinterface2{ void xyz();}
//抽象类的声明
public abstract class MyAbstract{ public abstract void xyz(); }
//定义一个衍生类来继承接口和抽象类
class Derived:Iinterface1,Iinterface2,MyAbstract{}
//在Derived类中为继承的抽象类和接口成员提供函数定义
//接口1的xyz()方法
void IInterface1.xyz()
{
Console.WriteLine("调用接口1的xyz()方法. \n");
}
//接口2的xyz()方法
void IInterface2.xyz()
{
Console.WriteLine("调用接口2的xyz()方法. \n");
}
//抽象类的xyz()方法
public override void xyz()
{
Console.WriteLine("调用抽象类的xyz()方法. \n");
}
看到这里,大家都应该明白怎样实现了。
接下来就为整个Derived类定义入口点并实例化它。
ie:
//实例化Derived对象,声明接口变量并指定Derived类对象给接口
static void Main(string[] args)
{
Derived derived = new Derived();
IInterface1 interface1 = new Derived();
IInterface2 interface2 = new Derived();
}
//你应该可......
ASP.NET 2.0'sMembership,Role,Profile系列文章(2007-10-10 20:10:00)
摘要:以下是学习ASP.NET 2.0 Membership,Roles,以及Profile的系列文章,总共有9个部分,我不打算翻译此系列文章,有兴趣的读者可以自行翻译学习。作者Scott Mitchell是http://www.4guysfromrolla.com/网站的一名编辑,创始人,以及主要贡献者。除此以外,他还是一名微软的MVP,并创办了http://www.aspfaqs.com/和http://www.aspmessageboard.com/。更多信息请浏览:http://www.4guysfromrolla.com/ScottMitchell.shtml。
Examining ASP.NET 2.0's Membership, Roles, and Profile - Part 1
http://aspnet.4guysfromrolla.com/articles/120705-1.aspx
Examining ASP.NET 2.0's Membership, Roles, and Profile - Part 2 http://aspnet.4guysfromrolla.com/articles/121405-1.aspx
Examining ASP.NET 2.0's Membership, Roles, and Profile - Part 3
http://aspnet.4guysfromrolla.com/articles/040506-1.aspx
Examining ASP.NET 2.0's Membership, Roles, and Profile - Part 4
http://aspnet.4guysfromrolla.com/articles/050306-1.aspx
Examining ASP.NET 2.0's Membership, Roles, and Profile - Part 5
http://aspnet.4guysfromrolla.com/articles/060706-1.aspx
Examining ASP.NET 2.0's Membership, Roles, and Profile - Part 6
http://aspnet.4guysfromrol......
Membership学习(二)membership入门(2007-10-10 19:44:00)
摘要:P.S.文章引用自:http://www.cnblogs.com/dotLive/archive/2006/07/15/451441.html
Membership学习(二)membership入门
--不写一行代码在asp.net中实现用户验证管理系统
这篇文章我们将实现一个简单的网站,在网站中实现用户的身份验证,创建用户,修改密码 还有限制匿名用户访问某些目录等功能,最神奇的是使用asp.net2.0实现我们几乎不用手工写一行代码。--不知道以后程序员要做些什么事了:(!!
我们手工从头创建一个web应用,学习其中的一些技术,这个应用将要完成的任务有
1. 创建一个包含membership服务的web应用,创建一个用户
2. 使用login控件,得到用户的凭证以及显示登录用户的信息
3. 在网站里创建一个目录 里面的页面只有登录用户才能访问
4. 允许网站创建新用户
5. 用户可以修改和重置
我的开发环境windows2003,iis6.0,vs2005 team suit英文版,sql server2005 express
工作开始
一、在本地IIS上创建一个网站
1. 打开visual studio,file菜单,选择 New web site
2. 选择asp.net web site,在location下来框里选择http,然后点击browser按钮,在弹出框里选择local IIS,打开Local Web Server,选择默认网站(default web site),点击对话框右上的Create New Web Application图标,命名为membership,点击open按钮关闭对话框。
3. 选择工作语言(c#等),以后在创建其他网页时 可以选择不同的语言 :)
4. 点击OK
网站创建后 会默认生成一个default.aspx页面 我们留着他就可以了,也可以删除他 重新创建一个页面
二、配置membership
1. 创......
(翻译)怎么在ASP.NET 2.0中使用Membership (2007-10-08 15:11:00)
摘要:P.S.该文章引用自:http://lovecherry.cnblogs.com/archive/2005/12/05/291092.html
摘要:
本文介绍了怎么在ASP.NET 2.0中使用Membership新特性,并且介绍了怎么两种不同的Membership的Provider:ActiveDirectoryMembershipProvider和SqlMembershipProvider,前者是基于微软活动目录服务存储用户信息的,或者是基于SQL SERVER存储的。2.0中的这个新机制大大减少了站点用户认证模块的代码量。
目录:
学习目的
使用ActiveDirectoryMembershipProvider
使用SqlMembershipProvider
ActiveDirectoryMembershipProvider的一些设置参数
SqlMembershipProvider的一些设置参数
Membership 的一些API
学习目的:
学会使用Membership进行表单认证
学会设置ActiveDirectoryMembershipProvider
学会使用ActiveDirectoryMembershipProvider建立认证用户
学会设置SqlMembershipProvider
学会建立SQL SERVER Membership数据库
学会使用SqlMembershipProvider建立认证用户
使用ActiveDirectoryMembershipProvider
如果用户信息是存储在活动目录中,而你的内网程序又因为防火墙或者需要适应不同的浏览器等原因不能使用windows集成认证的话,这个时候你可以选择使用ActiveDirectoryMembershipProvider实现表单认证
基本的步骤如下
按照以下步骤来用ActiveDirectoryMembershipProvider实现asp.net程序的用户表单认证
1、配置表单认证
2、配置ActiveDirectoryMembershipProvider
3、建立用户
4、认证用户
1、配置表单认证
要实现表单认证需要设置<authentication>的mode属性为"Forms",然后按照下面的例子配置web.c......
Membership学习(一)Membership的介绍(2007-10-07 22:39:00)
摘要:
P.S.该文章引用自:http://www.cnblogs.com/dotLive/archive/2006/07/15/451436.html
Membership学习(一) Membership介绍
Asp.net的membership提供了一种存储,验证和管理用户信息以及权限的统一的路径。membership所对应的验证方式是asp.net的Forms身份验证(注:asp.net的身份验证方式 有好几种包括windows身份验证 Forms身份验证 Passport身份认证当然还有就是没有验证)。在vs2005中 还给membership提供了一系列的控件(login控件),能方便的在asp.net实现membership。
具体来说membership能实现:
1. 创建用户
2. 可以保存membership信息在sql server,Active Directory以及其他的一些数据保存方法
3. 鉴别谁在访问你的网站。如果使用login控件,几乎可以在不写代码的情况下完成。
4. 管理密码。包括 创建 修改 重置
5. 创建一个唯一的值来标志每一个登陆用户,可以实现对用户的个性化以及角色管理。
6. 提供一个用户自定义的membership provider,从而实现一些自己网站特有的数据的保存和管理。
让membership能工作要做的一些工作:
1. 在web.config中填写一些membership的设置,在asp.net默认情况下membership是被允许使用的 而默认的数据保存是使用ms的sql server.你可以做些设置提供其他的数据保存方法 包括自定义的方法。这将在后面的文章中具体介绍
......
定制的MembershipProvider类(2007-10-07 17:34:00)
摘要:基于上一篇的翻译文章,我参考了一下别人的思路,尝试写了一下customed membershipprovider类。该代码适合于Login控件,LoginName控件,LoginStatus控件,CreateUserWizard控件,LoginView控件,ChangePassword控件。
代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
/// <summary>
/// AccessMembershipProvider类
/// </summary>
public class AccessMembershipProvider:MembershipProvider
{
private string connStr;//数据库连接字符串
private bool _requiresQuestionAndAnswer; //是否需要用户解答密码问题
private int _minRequiredPasswordLength;//取得密码所需的最小长度
public AccessMembershipProvider()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public override int MinRequiredPa......
为登陆控件写一个定制的Membership Provider(2007-09-30 22:43:00)
摘要: 在ASP.NET2.0中为登陆控件编写一个定制的Membership Provider
在ASP.NET 2.0的VS 2005中,你使用Membership提供的登陆控件来快速地定制认证页面。这些控件可以在VS 2005的工具箱中找到,在其登陆的段下面包含了:Pointer, Login, LoginView, PasswordRecovery, LoginStatus, LoginName, CreateUserWizard, and ChangePassword。这些控件可以在System.Web.Security 命名空间里找到,而它作为.NET Framework Library的一部分。这篇文章会以登陆控件为焦点。
这篇文章涵盖了什么内容
这篇文章以使用一个定制的SQL Server membership 数据库的登陆控件为焦点。没有任何其他的控件会被讨论,没有基于web的Membership管理的功能会被涉及。为了功能性与简洁性的,这篇文章提供最低的需求来连接使用定制Membership Provider的登陆控件。你应该探索control和MembershipProvider类两者在Framework的关系来确定你的选择。
The Login Control and the Membership Provider
一个Membership Provider是登陆控件与Membership 数据库两者之间的提供者(关系密切)。如果Membership Provider是一个定制的Provider或者一个微软的Provider的话,而登陆控件并不关心。登陆控件知道哪个Provider去实例化基于w......