自定义控件的使用例子一

控件

using System;
using com.joybase.DB;
using com.oztime.WorkShop.CodeBase;
namespace com.oztime.WorkShop.CodeBase.DB
{
    /// <summary>
    /// Summary description for DBUser.
    /// </summary>
    public class DBUser:User
    {
        private int m_UserID;
        private string m_UserName;
        private string m_Password;
        private Sex m_UserSex;
        private string m_UserEmail;
        private string m_UserTitle;
        public DBUser(string p_UserName)
        {
            this.m_UserEmail=p_UserName;
            this.LoadFromDB(0);

        }
        public DBUser(int p_UserID)
        {
            this.m_UserID=p_UserID;
            this.LoadFromDB(1);
        }
        public DBUser(string p_username,string p_password)
        {
            this.m_UserName=p_username;
            this.m_Password=p_password;
            this.LoadFromDB(2);
        }
        public DBUser(string p_UserName,string p_Password,Sex p_UserSex,string p_UserEmail,string p_UserTitle)
        {
            this.m_Password=p_Password;
            this.m_UserEmail=p_UserEmail;
            this.m_UserName=p_UserName;
            this.m_UserSex=p_UserSex;
            this.m_UserTitle=p_UserTitle;
            this.m_UserID=this.InserIntoDB();
        }
        private int InserIntoDB()
        {
            int result=-1;
            try
            {
                Command command=new Command(DBGlobal.DSN);
                command.CommandText=DBGlobal.AddNewUser;
                command.Parameter["Username"]=this.m_UserName;
                command.Parameter["Password"]=this.m_Password;
                command.Parameter["UserSex"]=(int)this.m_UserSex;
                command.Parameter["UserEmail"]=this.m_UserEmail;
                command.Parameter["UserTitle"]=this.m_UserTitle;
                command.ReturnType=ResultType.NoResult;
                command.Execute();
                command.CommandText=DBGlobal.SelectCurrentUserID;
                command.ReturnType=ResultType.DataReader;
                System.Data.IDataReader dr=(System.Data.IDataReader)command.Execute();
                dr.Read();
                result=dr.GetInt32(0);
                dr.Close();
            }
            catch
            {
                throw new Exception("Cannot Add new User");
            }
            return result;

        }
        private void LoadFromDB(int p_Type)
        {
            
            try
            {
                Command command=new Command(DBGlobal.DSN);
                switch(p_Type)
                {
                    case 0:
                        command.CommandText=DBGlobal.SelectUserByName;
                        command.Parameter["UserName"]=this.m_UserName;
                        break;
                    case 1:
                        command.CommandText=DBGlobal.SelectUserByID;
                        command.Parameter["UserID"]=this.m_UserID;
                        break;
                    case 2:
                        command.CommandText=DBGlobal.SelectUserByNameAndPassword;
                        command.Parameter["username"]=this.m_UserName;
                        command.Parameter["password"]=this.m_Password;
                        break;
                    default:
                        throw new Exception("Error Invode LoadFromDB() method!");
                }

                
                System.Data.IDataReader dr=(System.Data.IDataReader)command.Execute();
                if(dr.Read())
                {
                    this.m_Password=dr["password"].ToString();
                    this.m_UserEmail=dr["useremail"].ToString();
                    this.m_UserID=System.Convert.ToInt32(dr["userid"].ToString());
                    this.m_UserName=dr["username"].ToString();
                    this.m_UserSex=(Sex)System.Convert.ToInt32(dr["usersex"].ToString());
                    this.m_UserTitle=dr["usertitle"].ToString();

                }
                else
                {
                    throw new Exception("Error to Read userInfo!");
                }
                dr.Close();
            }
            catch
            {
                throw new Exception("Error when load user's Info");
            }
        }
        public int UserID
        {
            get
            {
                return this.m_UserID;
            }
            set
            {
                this.m_UserID=value;
            }
        }
        public string UserName
        {
            get
            {
                return this.m_UserName;
            }
            set
            {
                this.m_UserName=value;
            }
        }
        public string Password
        {
            get
            {
                return this.m_Password;
            }
            set
            {
                this.m_Password=value;
            }
        }
        public Sex UserSex
        {
            get
            {
                return this.m_UserSex;
            }
            set
            {
                this.m_UserSex=value;
            }
        }
        public string UserEmail
        {
            get
            {
                return this.m_UserEmail;
            }
            set
            {
                this.m_UserEmail=value;
            }
        }
        public string UserTitle
        {
            get
            {
                return this.m_UserTitle;
            }
            set
            {
                this.m_UserTitle=value;
            }
        }
        public System.Collections.ArrayList getMyCourse()
        {
            System.Collections.ArrayList result=null;
            return result;
        }

    }
}
 

时间: 2024-09-27 17:59:53

自定义控件的使用例子一的相关文章

一个比较通用的分页控件,完整的设计时支持和比较流行的分页模式(提供源码下载)

这是我写的一个分页控件,功能如下: 1.支持设计时支持和两种分页模式,其中综合分页模式的效果如下: 普通分页模式的效果如下: 2.完善的设计时支持,包括自动套用格式和设计时面板设置: 使用方法: 在aspx页面中:复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Cyclone.Custom

Android群英传笔记——第三章:Android控件架构与自定义控件讲解

Android群英传笔记--第三章:Android控件架构与自定义控件讲解 真的很久没有更新博客了,三四天了吧,搬家干嘛的,心累,事件又很紧,抽时间把第三章大致的看完了,当然,我还是有一点View的基础的,可以先看下我之前写的几篇基础的View博客 Android绘图机制(一)--自定义View的基础属性和方法 Android绘图机制(二)--自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解 Android绘图机制(三)--自定义View的三种实现方式以及实战

老猪带你玩转自定义控件三——sai大神带我实现ios 8 时间滚轮控件

ios 8 的时间滚轮控件实现了扁平化,带来很好用户体验,android没有现成控件,小弟不才,数学与算法知识不过关,顾十分苦恼,幸好在github上找到sai大神实现代码,甚为欣喜,顾把学习这个控件点滴记录下来,分享给大家.项目原地址https://github.com/saiwu-bigkoo/Android-PickerView. ios 8 滚轮的效果:   而sai大神控件的效果:   哎,妈呀是不是效果95%相识啊. 好了,废话少说,谈谈我从这个控件中收获的心得. 首先,我们要高瞻远

XML在.net平台下的自定义控件的应用

xml|控件   Xml全称可扩展标记语言(extensible marked language),这套语言系统由于在数据处理,跨平台等方面的独特优势,在近几年风靡全球.Xml语言系统把任何数据都作为"键"和"值"来进行处理,这一点类似于很多数据库管理系统(DBMS),而且它与具体的机器指令无关,其存储方式是纯文本文件,因此具有出色的跨平台性.另外它允许用户创建自己的数据指令系统,在这套指令系统的框架下,用户可以把所有信息转换成易于存取的数据,大大加快了开发的周期和

XML在.net平台下的自定义控件的应用(2)

xml|控件 第二步,就是加入XML特性注意,任何xml文档在其被处理之前最好先进行有效性验证,提供验证一般有两种重要的途径.其一就是提供DTD(文档类型定义),实际上就是让用户提供指令集,然后在xml文档加载的时候对其进行有效性分析,看是否有无效指令,简单说就是创建一个编译环境:另外一个就是提供一个所谓的schema..其作用跟DTD完全一样,只是在表现形式上好于DTD,因为它本身也是一个XML文档.这里我采用了schema的形式,当然了,读者用兴趣也可以将其替换问相应的DTD版本.下面

用户控件和自定义控件的比较及在项目中的应用

比较|控件|项目 用户控件和自定义控件的比较及在项目中的应用 摘 要 本文档描述了服务器控件的基本概念,以及用户控件和自定义控件在部署.创建.内容和布局.设计期行为.性能几个方面的比较,然后给出一个在项目开发中服务器控件使用的建议,最后给出一个用户控件的创建和调用的例子. 关 键 词 Server Control 服务器控件 User Control 用户控件,ASP.NET服务器控件的一种(一般后缀名为.ASCX文件) Custom Control 自定义控件,ASP.NET服务器空间的一种(

关于.net的自定义控件(请各位大虾指正)

控件 关于.net的自定义控件一:谈到自定义控件,就不得不说@Register(这玩艺具体怎么翻译我也不知道,只好用E文,嘿嘿).1.@Register语法格式:<%@Register tagprefix="tagprefix" Namespace="namespace" Assembly="assembly"%> or <%@Register tagprefix="tagprefix" TagName=&q

将复合控件子控件事件上传到顶层的例子将复合控件子控件事件上传到顶层的例子

控件|上传 这是一个选择省份然后将点击事件上传到控件顶层在页面处理事件的一个例子.加粗部分是整个上传事件过程.上传事件(暴露事件).暴露属性.复杂属性管理.样式管理等是asp.net服务器自定义控件的高级主题.using System;using System.Web;using System.Web.UI;using System.Data;using System.Data.SqlClient;using System.Web.UI.WebControls;using System.Comp

Android的自定义控件Canvas解析

自定义控件分为两种一种是自定义ViewGroup控件,一种是自定义View控件:跟踪View的步伐其实能跟到Java实现的最下面我们能发现的也就只有Canvas了,再下去就是C++或C实现了:所以本文主要是站在设计的的角度讲解一下Canvas跟View的关系,再简单分析一下Canvas用法: View作为Android中一切显示视图的父类,我们可看到它的绘制方法draw(Canvas canvas)中,无非也是通过Canvas的绘制来达到各种View的显示,如此Android中各种控件如:Ima