博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据源ObjectDataSource的数据访问类的编写
阅读量:6991 次
发布时间:2019-06-27

本文共 6312 字,大约阅读时间需要 21 分钟。

hot3.png

以下面这张表为例,编写ObjectDataSource的操作类文件;数据表结构如下:

其基本思路是用User.cs类,包装数据表的各个字段,将User的字段都聚合在一个User对象,然后增、删、改。

<textarea cols="91" rows="28" name="code" class="c-sharp:nogutter">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.SqlClient; using System.Collections.Generic; public class Users { private int _userid; private string _username; private string _userpwd; public int UserId { get { return this._userid; } set { this._userid = value; } } public string UserName { get { return this._username; } set { this._username = value; } } public string UserPwd { get { return this._userpwd; } set { this._userpwd = value; } } public Users() { } public Users(int UserId,string UserName,string UserPwd) { this._userid = UserId; this._username = UserName; this._userpwd = UserPwd; } //用SqlDataReader读出数据库数据来实例化User类。 public Users(SqlDataReader Dr) { this._userid = Convert.ToInt32(Dr["UserId"]); this._username = Dr["UserName"].ToString(); this._userpwd = Dr["UserPwd"].ToString(); } //添加用户; public static bool AddUser(Users singleUser) { bool Flage=false; string procname = "dbo.AddUser"; SqlParameter[] prams ={ new SqlParameter("@UserName",SqlDbType.VarChar,50), new SqlParameter("@UserPwd",SqlDbType.VarChar,100)}; prams[0].Value = singleUser.UserName; prams[1].Value = singleUser.UserPwd; int intResult = DataBase.RunExecute(procname, prams); if(intResult&gt;0) { Flage = true; } return Flage; } //删除用户; public static bool DeleteUser(Users SingleUser) { bool Flage = false; string procname = "dbo.DeleteUser"; SqlParameter[] prams ={new SqlParameter("@UserId",SqlDbType.Int)}; prams[0].Value = SingleUser.UserId; int intResult = DataBase.RunExecute(procname, prams); if (intResult &gt; 0) { Flage = true; } return Flage; /*对应存储过程 *ALTER PROCEDURE dbo.DeleteUser ( int ) AS delete from Users where UserId= RETURN */ } //更新用户; public static bool UpdateUser(Users singleUser) { bool Flage = false; string procname = "dbo.UpdateUser"; SqlParameter[] prams ={new SqlParameter("@UserId",SqlDbType.Int), new SqlParameter("@UserName",SqlDbType.VarChar,50), new SqlParameter("@UserPwd",SqlDbType.VarChar,100)}; prams[0].Value = singleUser.UserId; prams[1].Value = singleUser.UserName; prams[2].Value = singleUser.UserPwd; int intResult = DataBase.RunExecute(procname, prams); if (intResult &gt; 0) { Flage = true; } return Flage; /*对应存储过程 * ALTER PROCEDURE dbo.UpdateUser ( @UserId int, @UserName varchar(50), @UserPwd varchar(100) ) AS update Users set UserName=@UserName,UserPwd=@UserPwd where UserId=@UserId RETURN */ } //更改密码; public static bool ChangePwd(int UserId,string UserPwd) { bool Flage = false; string procname = "dbo.ChangePwd"; SqlParameter[] prams ={new SqlParameter("@UserId",SqlDbType.Int), new SqlParameter("@UserPwd",SqlDbType.VarChar,100)}; prams[0].Value = UserId; prams[1].Value = UserPwd; int intResult = DataBase.RunExecute(procname, prams); if (intResult &gt; 0) { Flage = true; } return Flage; /*对应存储过程 * ALTER PROCEDURE dbo.ChangePwd ( @UserId int, @UserPwd varchar(100) ) AS update Users set UserPwd=@UserPwd where UserId=@UserId RETURN */ } //验证用户; public static bool ValidateUser(string UserName,string UserPwd) { bool Flage = false; string procname = "dbo.ValidateUse"; SqlParameter[] prams ={new SqlParameter("@UserName",SqlDbType.VarChar,50), new SqlParameter("@UserPwd",SqlDbType.VarChar,100)}; prams[0].Value = UserName; prams[1].Value = UserPwd; int intResult = DataBase.RunExecuteScalar(procname, prams); if (intResult &gt; 0) { Flage = true; } return Flage; /*ALTER PROCEDURE dbo.ValidateUse ( @UserName varchar(50), @UserPwd varchar(100) ) AS select count(*) from Users where UserName=@UserName and UserPwd=@UserPwd RETURN */ } //检验用户是否存在; public static bool IsValidateUserName(string UserName) { bool Flage = false; string procname = "dbo.IsValidateUserName"; SqlParameter[] prams ={new SqlParameter("@UserName",SqlDbType.VarChar,50)}; prams[0].Value = UserName; int intResult = DataBase.RunExecuteScalar(procname, prams); if (intResult &gt; 0) { Flage = true; } return Flage; /*对应存储过程 * ALTER PROCEDURE dbo.IsValidateUserName ( @UserName varchar(50) ) AS select count(*) from Users where UserName=@UserName RETURN */ } //得到所有用户信息(用来绑定到ObjectDataSource的SelectMethod方法) public List&lt;Users&gt; GetAllUsers() { List&lt;Users&gt; AllUsers = new List&lt;Users&gt;(); string procname = "dbo.GetAllUsers"; SqlDataReader Dr = DataBase.RunProcGetReader(procname); while(Dr.Read()) { AllUsers.Add(new Users(Dr)); } Dr.Close(); return AllUsers; //对应存储过程: /* ALTER PROCEDURE dbo.GetAllUsers AS select * from Users RETURN*/ } public static string GetUserNameByUserId(int UserId) { string strUserName = string.Empty; string procname = "dbo.GetUserNameByUserId"; SqlParameter[] prams ={new SqlParameter("@UserId",SqlDbType.Int)}; prams[0].Value = UserId; SqlDataReader Dr = DataBase.RunProcGetReader(procname,prams); while (Dr.Read()) { strUserName = Dr["UserName"].ToString(); } Dr.Close(); return strUserName; /*对应存储过程 * ALTER PROCEDURE dbo.GetUserNameByUserId ( @UserId int ) AS select UserName from Users where UserId=@UserId RETURN*/ } public static int GetUserIdByUserName(string UserName) { int UserId = 0; string procname = "dbo.GetUserIdByUserName"; SqlParameter[] prams ={ new SqlParameter("@UserName", SqlDbType.VarChar,50) }; prams[0].Value = UserName; SqlDataReader Dr = DataBase.RunProcGetReader(procname,prams); while (Dr.Read()) { UserId = Convert.ToInt32(Dr["UserId"]); } Dr.Close(); return UserId; /*对应存储过程 * ALTER PROCEDURE dbo.GetUserIdByUserName ( @UserName varchar(50) ) AS select UserId from Users where UserName=@UserName RETURN */ } public static Users GetUserByUserId(int UserId) { Users SingleUser = new Users(); string procname = "dbo.GetUserByUserId"; SqlParameter[] prams ={ new SqlParameter("@UserId", SqlDbType.Int) }; prams[0].Value = UserId; SqlDataReader Dr = DataBase.RunProcGetReader(procname,prams); while (Dr.Read()) { SingleUser =new Users(Dr); } Dr.Close(); return SingleUser; /*对应存储过程 ALTER PROCEDURE dbo.GetUserByUserId ( @UserId int ) AS select * from Users where UserId=@UserId RETURN */ } } </textarea>

转载于:https://my.oschina.net/zhangqs008/blog/712746

你可能感兴趣的文章
Google Code开始支持Git
查看>>
jquery常用的插件1000收集
查看>>
iphone 创建标示图索引
查看>>
VS2010 SP1下载(解决wp7设计页面加载出错的问题)
查看>>
URLClassLoader使用方法及事例程序
查看>>
Windows Phone笔记(2)方向处理之动态布局
查看>>
QTP简单框架(4)之项目结构图
查看>>
hudson default directory for deb ubuntu version
查看>>
vs2005下配置OGRE
查看>>
London2012同步时间新语
查看>>
Android如何获取多媒体文件信息
查看>>
端口列表详解
查看>>
ecshop 用户中心
查看>>
浅谈MySql的存储引擎(表类型)
查看>>
第三方控件DevExpress中ASPxNavBar1用法
查看>>
Spring.net、NHibernate相关文章导航
查看>>
Android中Application设置全局变量以及传值
查看>>
每日英语:The Rise Of The Female Investor
查看>>
黑马程序员-JAVA基础-基本数据类型对象包装类
查看>>
Gzip Zlib PNG 压缩算法,源码详解 - swo2006 - C++博客
查看>>