GridView控件实现增删改查
第一步:建立三层,并添加他们之间的引用关系,如下图所示:
第二步:添加GridView表格,并且套用格式样式,如下图所示:
第三步:点击表格右侧的小三角,并选中编辑列,如下图所示:
第四步:添加三个绑定列,并为其绑定上数据,如下图所示:
并且修改命令列的名称为“管理”,做好之后如下图所示:
下面是源代码的整体架构
接下来是所有的源代码:
DiaryModels层的Users
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace DiaryModels
{/// <summary>/// 用户类/// </summary>public class Users{private int _UserID;private string _UserName;private string _password;/// <summary>/// 用户ID/// </summary>public int UserID {get { return _UserID; }set { _UserID = value; }}/// <summary>/// 用户名/// </summary>public string UserName {get { return _UserName; }set { _UserName = value; }}/// <summary>/// 密码/// </summary>public string password {get { return _password; }set { _password = value; }}}
}
DiaryDAL层的UserDAO
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using DiaryModels;
using System.Data;
using System.Data.SqlClient;namespace DiaryDAL
{public class UserDAO{Helper help = new Helper();/// <summary>/// 添加一条用户信息/// </summary>/// <param name="user"></param>/// <returns></returns>public bool Add(Users user) {string cmdText = "insert into Users(UserID,UserName,password) values(@UserID,@UserName,@password)";SqlParameter[] param = new SqlParameter[3];param[0]=new SqlParameter("@UserID",user.UserID);param[1] = new SqlParameter("@UserName", user.UserName);param[2] = new SqlParameter("@password", user.password);return help.ExecMake(cmdText, CommandType.Text, param);}/// <summary>/// 删除一条用户信息/// </summary>/// <param name="user"></param>/// <returns></returns>public bool Delete(Users user) {string cmdText = "delete from Users where UserID=@UserID";SqlParameter[] param = new SqlParameter[1];param[0] = new SqlParameter("@UserID", user.UserID);return help.ExecMake(cmdText, CommandType.Text, param);}/// <summary>/// 修改一条用户信息/// </summary>/// <param name="user"></param>/// <returns></returns>public bool Modify(Users user) {string cmdText = "update Users set UserName =@UserName,password =@password where UserID =@UserID";SqlParameter[] param = new SqlParameter[3];param[0] = new SqlParameter("@UserName", user.UserName);param[1] = new SqlParameter("@password", user.password);param[2] = new SqlParameter("@UserID", user.UserID);return help.ExecMake(cmdText, CommandType.Text, param);}public DataTable Select() {string cmdText = "select * from Users";return help.ExecSelect(cmdText, CommandType.Text);}}
}
DiaryDAL层的Helper类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;namespace DiaryDAL
{public class Helper{/// <summary>/// 执行带参数的增删改语句/// </summary>/// <param name="cmdText"></param>/// <param name="Paras"></param>/// <returns></returns>public bool ExecMake(string cmdText, CommandType Cmdtype, SqlParameter[] Paras){SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);con.Open();//对SqlCommand对象进行初始化SqlCommand SqlComm = new SqlCommand(cmdText, con);SqlComm.CommandType = Cmdtype;//对参数赋值SqlComm.Parameters.AddRange(Paras);//执行命令SqlComm.ExecuteNonQuery();con.Close();return true;}/// <summary>/// 执行不带参数的查询语句/// </summary>/// <param name="cmdText"></param>/// <param name="Paras"></param>/// <returns></returns>public DataTable ExecSelect(string cmdText, CommandType Cmdtype){SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);con.Open();//对SqlCommand对象进行实例化SqlCommand SqlComm = new SqlCommand(cmdText, con);SqlComm.CommandType = Cmdtype;//给参数赋值SqlComm.CommandTimeout = 10000;//返回DataReader对象SqlDataReader DataReader = SqlComm.ExecuteReader();DataTable Dt = new DataTable();//返回DataTable对象Dt.Load(DataReader);//返回数据表con.Close();return Dt;}}
}
业务逻辑层DiaryBLL的UserManager没有进行判断,读者明白意思即可
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using DiaryModels;
using DiaryDAL;namespace DiaryBLL
{public class UserManager{UserDAO userdao = new UserDAO();public bool Add(Users user) {return userdao.Add(user);}public bool Delete(Users user) {return userdao.Delete(user);}public bool Modify(Users user) {return userdao.Modify(user);}public DataTable Select() {return userdao.Select();}}
}
表示层:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DiaryModels;
using DiaryBLL;public partial class _Default : System.Web.UI.Page
{UserManager usermgr = new UserManager();Users user = new Users();//为表格绑定数据源private void Bind() {GridView1.DataSource = usermgr.Select();GridView1.DataBind();}protected void Page_Load(object sender, EventArgs e){if (!IsPostBack) {Bind();}}//添加用户信息protected void btnOk_Click(object sender, EventArgs e){user.UserID = Convert.ToInt16( txtUserID.Text);user.UserName = txtUserName.Text;user.password = txtPassword.Text;if (usermgr.Add(user)){Response.Write("<script>('添加成功!')</script>");Bind();}else {Response.Write("<script>('添加失败!')</script>");}}protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e){user.UserID = Convert.ToInt16(((GridView1.Rows[e.RowIndex].FindControl("Label1") as Label).Text));if (usermgr.Delete(user)){Response.Write("<script>('删除成功!')</script>");Bind();}else {Response.Write("<script>('删除失败!')</script>");}}
//让当前行处于修改状态protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e){GridView1.EditIndex = e.NewEditIndex;Bind();}//取消编辑protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e){GridView1.EditIndex = -1;Bind();}//更新至数据库protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e){user.UserID = Convert.ToInt16((GridView1.Rows[e.RowIndex].FindControl("Label1")as Label).Text);user.UserName = (GridView1.Rows[e.RowIndex].FindControl("TextBox2") as TextBox).Text;user.password = (GridView1.Rows[e.RowIndex].FindControl("TextBox3") as TextBox).Text;if (usermgr.Modify(user)){Response.Write("<script>('修改成功!')</script>");GridView1.EditIndex = -1;Bind();}else {Response.Write("<script>('修改失败!')</script>");}}
}
GridView控件实现增删改查相关推荐
- 前端VUE【实战】—— antd tree树形控件进行增删改查父子节点
个人博客:前端江太公 前言 antd 对树形控件目录进行增删改查 最近在用Ant Design写一个后台,遇到的需求就是实现一个可动态增减和编辑子节点的Tree. 实现的效果如下: 可以增加父子节点 ...
- xml gridview控件增删改查_Mybatis之XML如何映射到方法
前言 上文Mybatis之方法如何映射到XML中介绍了Mybatis是如何将方法进行分拆出方法名映射到statementID,参数如何解析成xml中sql所需要的,以及返回类型的处理:本文将从XML端 ...
- ASP GridView控件绑定数据进行数据的增删改查
1.新建一个空项目,添加Web窗体FindUser,在前台设计中拖入GridView控件,在编辑列中设计BoundField,HeaderText属性设置表头文本,DataField属性设置为要显示的 ...
- Android 绿豆通讯录【 SQLite数据库(增删改查、展示数据) + ListView数据展示控件(展示所有数据) 】
前情提要:Android 数据库(SQLite) [简介.创建.使用(增删改查.事务.实战演练).数据显示控件(ListView.Adapter.实战演练-绿豆通讯录)] https://blog.c ...
- html增删改查按钮控件,HTML DOM节点的增删改查
上篇博客中,我们已经初步接触了DOM基础,可是我们学习是为了可以更好地应用,今天我们就来看看DOM节点的增删改查. 无论在哪里,我们想要操作一个东西,总是应该先去获得它.那么我们怎么获得呢? HTML ...
- GridView的常用操作(增删改查)
GridView的常用操作(增删改查) void BindData() { string sql = "select top 10 ID,jobno, ...
- ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
ASP.NET Web--GridView 完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能 环境说明 系统要求:win7/10/11 开发语言:C# 开发工具:Visual Studio ...
- WebForm实现增删改查
上文,我们使用pb和c#WinForm使用分别实现了增删改查,本文,我们C#WebForm技术来实现一下.首先,说明一点,WinForm和WebForm基本是一样,代码基本雷同,就是使用的控件不一样, ...
- ASP.NET操作简单的xml,增删改查
温习一下对xml的简单操作,贴出来收藏 xml文件格式: <?xml version="1.0" encoding="utf-8"?> <st ...
最新文章
- oracle 统计信息字典表,Oracle数据字典表查询
- Rocksdb 写流程,读流程,WAL文件,MANIFEST文件,ColumnFamily,Memtable,SST文件原理详解
- k-近邻算法之距离度量
- go语言培训班多少钱
- python3.7.2安装-Centos7.6,安装python3.7.2
- 【风控术语】数字金融欺诈行为名词表
- 【杂谈】如何在言有三本人的随时答疑下, 长期而系统地学习深度学习和计算机视觉,这是有三AI的完整计划...
- .net session 有效时间_Python中requests模拟登录的三种方式(携带cookie/session进行请求网站)...
- abstract class和interface有什么区别?
- poj 3061(尺取法)
- 八十五、Python | Leetcode数据结构之图和动态规划算法系列
- 拳王虚拟项目公社:闲鱼知乎引流售卖虚拟资源的虚拟副业项目实操
- GraphicsStatsService之2 UI绘制的时间信息来源
- DICOM医学图像处理:Orthanc Plugin SDK实现WADO服务
- 制作一个App的完整流程是哪些
- 团队建设(Team building)就是等于组织大家一起吃饭娱乐吗?
- 如何查找视频文件 android,如何扫描出android手机中所有的视频文件
- PERCENTILE_CONT
- python爬取海量精美高清漂酿纯真可爱善良小姐姐壁纸(老司机福利)
- 罗马数字 古罗马数字转换为阿拉伯数字