`
fuhao9611
  • 浏览: 85401 次
  • 性别: Icon_minigender_1
  • 来自: 陕西 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

Asp.Net实现增删改以及分页例子一

阅读更多
前天在项目组做了一个关于C#与Asp.Net的报告,说是报告,其实心里面比较惭愧,自己知道的那些东西,怎么能去给人家做报告,不过这是经理的意思,所以我也就~~~。准备了一个小例子,实现对一张表进行增,删,改以及分页操作。项目组的同事都很感慨,微软的东西实在是为程序员想的太多了。具体例子和幻灯片在附件里面提供下载。
下面将例子部分关键代码列出来:
由于我使用的是SQL Server 2000数据库,所以我这里就用pubs库里面的jobs表作为例子。
首先是连接数据库,在Web.config里面配置连接SQL数据库,这里其实和在Struts里面的struts-config.xml里面配置datasource是一样的道理:
Web.config.xml:
<appSettings>
   <add key="connstring" value="server=.;uid=sa;pwd=;database=pubs"></add>
</appSettings>

接下来写一个连接数据库的公共的方法:
DBM.cs:
using System;
using System.Data;
using System.Data.SqlClient; //引用命名空间,和java里面的import的作用是一样的

namespace Zsgc.DataBaseManage
{
	
	public class DBM
	{
		private SqlConnection conn;
		
		public SqlConnection getConn()
		{
			//创建与数据库的连接
			if(conn==null)
			{
				//从Web.config里面读取
				conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["connstring"]);
			}
			return conn;
		}
		//查询不带分页
		public static DataTable getList(string sql)
		{
			DBM dbm=new DBM();
			//适配器
			SqlDataAdapter sda=new SqlDataAdapter(sql,dbm.getConn());
			//实例化DataTable
			DataTable dt=new DataTable();
			//适配器将检索到的数据填充到dt里面
			sda.Fill(dt);
			//返回填充完数据的DataTable
			return dt;
		}
		//查询带分页的,start--起始页,size--每页几条数据
		public static DataTable getList(string sql,int start,int size)
		{
			DBM dbm=new DBM();
			//适配器
			SqlDataAdapter sda=new SqlDataAdapter(sql,dbm.getConn());
			//实例化DataSet
			DataSet ds=new DataSet();
			//适配器将检索到的数据填充到ds里面,jobs--表名
			sda.Fill(ds,start,size,"jobs");
			//获取包含在DataSet中的表名为“jobs”的表
			//返回填充完数据的DataTable
			return ds.Tables["jobs"];
		}
		//公共的执行方法
		public static Exception Execute(string sql)
		{
			DBM dbm=new DBM();
			//Command对象是用于检索、更新、插入、删除数据库中的数据
			SqlCommand cmd=new SqlCommand(sql,dbm.getConn());
			//实例化一个Exception
			Exception exception=null;
			//因为ADO.NET遵循的是断开式连接的数据模型
			//所以在使用Command对象的时候必须显式的打开数据库的连接
			cmd.Connection.Open();
			//数据库事务
			SqlTransaction stran=cmd.Connection.BeginTransaction();
			//开始事务
			cmd.Transaction=stran;
			try
			{
				//执行sql语句
				cmd.ExecuteNonQuery();
				//提交事务
				stran.Commit();
			}
			catch(Exception ex)
			{
				//返回错误信息
				exception=ex;
				//出现错误,事务回滚
				stran.Rollback();
			}
			finally
			{
				//关闭与数据库的连接
				cmd.Connection.Close();
			}
			//返回异常信息
			return exception;
		}
		//公共javascript提示信息
		public static void message(string msg)
		{
			System.Web.HttpContext.Current.Response.Write("<script>alert('" +msg+ "');</script>");	
		}
	}
}

属性类:JobsModel.cs,将jobs表里面的字段都体现在这个里面,类似于FormBean,提供get(),set()方法。
接口类:ITFOpt.cs,至于对于为什么要使用接口,我想就不需要说明了。
ITFOpt.cs:
using System;
using System.Data;

namespace Zsgc.Op
{
	//实现增、删、改、查的公共接口
	public interface ITFOpt
	{
		DataTable getList(); //没有任何条件的查询
		DataTable getList(string wherestring); //带有条件的查询
		DataTable getList(int start,int size);//有条件分页
		Exception Add(object model); //添加数据
		Exception Modify(object model);//修改数据
		Exception Delete(object model);//删除数据
		Exception Update(object pk);//修改数据
	}
}

继承接口实现增删改的操纵类:JobsOpt.cs
JobsOpt.cs:
using System;
using System.Data;
using Zsgc.DataBaseManage;
using Zsgc.Models;
namespace Zsgc.Op
{
	//C#中的继承是使用:来实现的,其中JobsOpt叫做派生类,ITFOpt叫做基类
	//string.Format()方法是将指定的 String 中的每个格式项替换为相应对象的值的文本等效项。
	public class JobsOpt:ITFOpt
	{
		#region ITFOpt 成员

		//全查数据
		public DataTable getList()
		{
			string sql=string.Format("select * from jobs");
			return DBM.getList(sql);
		}
		//有条件的查询,wherestring是条件
		public DataTable getList(string wherestring)
		{
			string sql=string.Format("select * from jobs where"+wherestring);
			return DBM.getList(sql);
		}
		//支持有条件分页的查询
		public DataTable getList(int start, int size)
		{
			string sql=string.Format("select * from jobs");
			return DBM.getList(sql,start,size);
		}
		//添加数据
		public Exception Add(object model)
		{
			//实例化一个JobsModel
			JobsModel jobs=(JobsModel)model;
			//其中{}是C#中的占位符,用来确定指定变量的值显示于字符串中的位置
			string sql=string.Format("insert into jobs(job_desc,min_lvl,max_lvl) values('{0}',{1},{2})",jobs.Job_desc,jobs.Min_lvl,jobs.Max_lvl);
			return DBM.Execute(sql);
		}
		//修改数据,不修改描述
		public Exception Modify(object model)
		{
			//实例化一个JobsModel
			JobsModel jobs=(JobsModel)model;
			string sql=string.Format("update jobs set min_lvl={0},max_lvl={1} where job_id={2}",jobs.Min_lvl,jobs.Max_lvl,jobs.Job_id);
			return DBM.Execute(sql);
		}
		//删除数据,pk为主键
		public Exception Delete(object pk)
		{
			string sql=string.Format("delete from jobs where job_id={0}",pk.ToString());
			return DBM.Execute(sql);
		}
		//修改数据,除主键外其余的都修改
		public Exception Update(object model)
		{
			//实例化一个JobsModel
			JobsModel jobs=(JobsModel)model;
			//其中{}是C#中的占位符,用来确定指定变量的值显示于字符串中的位置
			string sql=string.Format("update jobs set job_desc='{1}',min_lvl={1},max_lvl={2} where job_id={3}",jobs.Job_desc,jobs.Min_lvl,jobs.Max_lvl,jobs.Job_id);
			return DBM.Execute(sql);
		}

		#endregion
	}
}


好了万事具备,只欠东风,我会在接下来继续说明如何进行数据绑定。
最终实现效果如图所示:
  • C#与Asp.net介绍.zip (135.6 KB)
  • 描述: 开发环境:Microsoft Visual Studio .NET 2003 数据库:SQL Server 2000
  • 下载次数: 291
分享到:
评论
1 楼 jy786394 2008-03-24  
谢谢楼主。
我是个初学者,之前使用JAVA,刚刚换部门要求学c#.net
这边文章很有帮助

相关推荐

    ASP.NET MVC3 简单增删改查分页例子

    ASP.NET MVC3 简单的增删改查分页例子(附数据库,下载即可运行),适合新手使用,实现增删该查以及分页功能(使用老外写的一个jquery插件完成超炫的分页效果),代码简洁,注释详细,欢迎大家下载使用。

    ASP.NET增删改查例子(作业)

    这个"ASP.NET增删改查例子(作业)"是一个针对初学者的教程,旨在教授如何在ASP.NET环境中实现基本的数据操作功能,即添加(Add)、删除(Delete)、修改(Update)和查询(Query)。这些是任何数据库驱动的Web应用中...

    Ext.net后台分页增删改

    在"Ext.NET后台分页增删改"这个主题中,我们将探讨如何利用Ext.NET实现数据库后台分页、树形视图操作以及Grid面板的CRUD(创建、读取、更新和删除)功能。 首先,让我们深入了解一下后台分页。在Ext.NET中,为了...

    easyui增删改很好的例子

    这个“easyui增删改很好的例子”是一个实用的学习资源,展示了如何利用EasyUI来实现数据的添加、删除和修改功能。在产品管理和产品分类管理两个子模块中,我们可以看到这些操作的实现,这对于理解和掌握EasyUI的数据...

    asp.NET Gridview实现数据库增删改查,12年的旧代码,供参考

    首先, GridView控件是ASP.NET中的一个服务器控件,它可以直接绑定到数据源,如SQL Server、Oracle,或者像在这个例子中使用的Access数据库。在页面加载时,GridView会自动根据数据源填充表格,并提供多种内置的功能...

    Angularjs(增删改+分页+弹框+Sql数据库)

    AngularJS 是一个强大的...这个AngularJS Demo是初学者学习基础功能的好例子,通过逐步实现增删改查和分页,可以帮助理解AngularJS的核心概念和实际应用。在实践中不断探索和优化,将有助于提升对AngularJS的掌握程度。

    mvc5.2+EF6.0+mysql使用CodeFirst模式编写的一个增删改小例子

    在本文中,我们将深入探讨如何使用ASP.NET MVC 5.2、Entity Framework 6.0 (EF6) 和 MySQL 数据库通过CodeFirst模式构建一个基本的增删改查(CRUD)应用程序。这个例子展示了如何将这三个技术有效地结合起来,以实现...

    C#纯代码实现GridView绑定增删改.pdf

    在ASP.NET中,GridView控件是一个非常常用的组件,用于显示和操作数据集合,如数据库查询...对于初学者来说,这是一个很好的起点,可以帮助理解如何在没有使用ASP.NET设计视图的情况下,纯代码方式实现数据展示和交互。

    EasyUI增查改删操作示例

    综上,"EasyUI增查改删操作示例"压缩包提供的 Demo 应包含前端的 HTML 文件、CSS 样式和 JavaScript 代码,以及后端的 ASP.NET 或 Web API 控制器,演示了如何结合 EasyUI 和 C# 实现数据管理的基本功能。...

    GridViewExamples

    5. **增除删改**:这部分可能包含了一些演示如何在GridView中实现添加、删除和修改记录的示例代码或文件夹。 6. **App_Code**:在ASP.NET中,这是一个特殊目录,用于存放共享的类文件和其他后台代码。在这个项目中...

    GridView例子

    GridView增删改 GridView隐藏列 GridView行背景颜色 GridView突显单元格 GridView省略字符 GridView求和平均值 GridView排序 GridView结合控件 GridView合并表头 GridView固定表头 GridView分页 GridView导入导出 ...

Global site tag (gtag.js) - Google Analytics