简单-三层-存储过程-增删改四
第四,首次谈到运用存储过程进行修改和删除。
首先,你要写一个存储过程
create Procedure [dbo].[Updatelogin_User](@txtuser nvarchar(10),@txtpassword nvarchar(20) )AS UPDATE login_user SET txtpassword= @txtpassword WHERE txtuser = @txtuser
前台调用:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls; using System.Data;using System.Data.SqlClient;using System.Xml; public partial class index : System.Web.UI.Page{public static string aa;protected void Page_Load(object sender, EventArgs e) {if (!Page.IsPostBack) { dvDataBind(); } }private void dvDataBind() {//SqlConnection conn = new SqlConnection("server=.;database=cs;uid=sa;pwd=");//SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);//SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"].ToString()); XmlDocument xDoc = new XmlDocument(); xDoc.Load(Server.MapPath("XMLFile.xml"));//SqlConnection conn = new SqlConnection(xDoc.SelectSingleNode("PrintSetting/SQL_CONN").InnerText); XmlNodeList nodes1 = xDoc.GetElementsByTagName("PrintSettings");foreach (XmlNode node1 in nodes1) //第一层 {//TextBox1.Text = node1.ToString(); if (node1.Attributes["name"].Value == "zong") { XmlNodeList nodes2 = node1.ChildNodes; foreach (XmlNode node2 in nodes2)//第二层nodes1 {if (node2.Attributes["name"].Value == "1") { aa = node2["SQL_CONN"].InnerText;//TextBox1.Text = aa; } } } } SqlConnection conn = new SqlConnection(aa); conn.Open();string sql_string = "select * from login_user"; SqlDataAdapter da = new SqlDataAdapter(sql_string, conn); DataSet ds = new DataSet(); da.Fill(ds, "login_user"); GridView1.DataSource = ds; GridView1.DataBind(); }//编辑 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; dvDataBind(); }protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { TextBox txt_temp_description = (TextBox)GridView1.Rows[e.RowIndex].FindControl("textbox1"); SqlConnection conn = new SqlConnection("server=.;database=cs;uid=sa;pwd="); conn.Open();//SqlCommand cmd = new SqlCommand("update login_user set txtpassword='" + txt_temp_description.Text + "' where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'", conn); SqlCommand cmd = new SqlCommand("updatelogin_user",conn);//调用存储过程名 cmd.CommandType = CommandType.StoredProcedure;//设置存储过程的参数值,其中@id 为存储过程的参数. SqlParameter txtuser = cmd.Parameters.Add("@txtuser", SqlDbType.NVarChar); txtuser.Value = ((Label)GridView1.Rows[e.RowIndex].FindControl("Label2")).Text; SqlParameter txtpassword = cmd.Parameters.Add("@txtpassword", SqlDbType.NVarChar); txtpassword.Value = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("textbox1")).Text; cmd.ExecuteNonQuery(); conn.Close(); GridView1.EditIndex = -1; dvDataBind(); }protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1.EditIndex = -1; dvDataBind(); }protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) {string sqlstr = "delete from login_user where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'"; SqlConnection conn = new SqlConnection("server=.;database=cs;uid=sa;pwd="); conn.Open(); SqlCommand cmd = new SqlCommand(sqlstr, conn); cmd.ExecuteNonQuery(); dvDataBind(); }protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { }}
主要是在修改中,做的存储过程的调用,不管怎么样,你得会存储过程对不对。
转载于:https://www.cnblogs.com/daywrite/archive/2011/12/27/2303281.html
简单-三层-存储过程-增删改四相关推荐
- 简单-三层-存储过程-增删改《一》
明天就要可以见到亲爱的老婆啦,很高兴,写下这篇文章,可能有点长,希望对大家有帮助,也是记录自己. 第一,用VS2010新建一个空空的网站,什么都没有. 准备工作:在这里,测试连接数据成功与否,我通常用 ...
- 创建一个简单的存储过程(RroGetA_Z),要求输出A到Z之间的26个大写字母
<SQL Server数据库设计与项目实践> ISBN:978-7-302-40610-5 p121 动手实践-实训内容-(1) (1)创建一个简单的存储过程(RroGetA_Z),要求输 ...
- java web简单三层结构
java web可以分为三层结构:表现层.业务层.持久化层 表现层: 1.主要由jsp页面实现,jsp页面主要负责页面的渲染工作,它从浏览器接收从客户端传来的动作传递给servlet,servlet接 ...
- 生成交叉表的简单通用存储过程
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_qry]') and OBJECTPROPERTY(id ...
- 《项目经验》--简单三层使用DataTable向数据库表批量导入数据---向SqlServer多张张表中导入数据
前面已经介绍过如何向数据库的一张表中批量导入数据,详情见博客<项目经验---简单三层使用DataTable向数据库表批量导入数据---向SqlServer一张表中导入数据>:本文主要介绍如 ...
- 使用objectdatasource结合数据绑定控件进行简单三层架构的开发
对于B/S架构的三层架构的开发,可能很多的人都已经了解的是比较清楚的.哪么我在这里用的是最简单的三层架构.ui+bll+dal+dbsqlhelp+model. 从05出来以后由于功能明显比03夸张了 ...
- c datatable导入mysql_《项目经验》–简单三层使用DataTable向数据库表批量导入数据—向SqlServer一张表中导入数据 | 学步园...
向数据库的一张表中添加数据,可以采用单个添加,即一条数据.一条数据的添加:也可以采用批量导入,依次将好些条数据写入数据库的一张表中.文本借助实例<添加系列信息>讲解一种向数据库批量导入数据 ...
- mysql简单的存储过程实例_mysql存储过程简单实例
MySql存储过程简单实例: /********************* 创建表 *****************************/ delimiter // DROP TABLE if ...
- 用于jqGrid获取SQL Server中数据的简单分页存储过程及sp_executesql的一点使用方法...
之前我第一篇有关jqGrid JSON数据的获取是动态拼接的SQL语句(因为是Access数据库),然后我自己也用SQL Server中的数据作了测试,为了方便写了一个分页的存储过程,过程中也认识了下 ...
最新文章
- setstate是同步还是异步_【vert.x准备篇1】同步和异步,阻塞和非阻塞概念澄清
- 夜间奇异规范:夜间高效自监督单目深度估计(ICCV 2021)
- 存在就不插入_DOM 插入节点和三个Child方法
- Hyperledger Fabric Chaincode 开发
- 用python玩转数据测试答案_大学慕课2020用Python玩转数据章节测试答案
- 设备上的介质簇的结构不正确_环保设备选型参考系列——生化系统之潜水搅拌机【价格】...
- 8-1 数据结构图的主要遍历实验流程图_ReactDOM渲染流程图
- 机器学习基础(二十五)—— Feature Selection
- 计算一个文件下的所有视频总时长
- 数据库系统——学习资料(更新.........)
- ajax提交form返回数据格式,ajaxSubmit 返回值
- 《程序员思维训练》读书小记
- 小猫爬山题解(暴力解题)
- RAITE Hypervisor介绍
- vue3.0+vite+ts使用swiper如何掉用autoplay
- 南京邮电大学操作系统实验二:线程的互斥与同步
- ps4 虚拟服务器 设置,谁说PS VR只能适配PS4主机? 大神来教你完美认证PC
- Ubuntu16.04安装搜狗拼音
- ICC2 user guide(三)Clock Tree Synthesis
- canvas图形缩放功能
热门文章
- 简单的链式语法及实际运用(链式编程的基本原理)
- slf4j + logback 输出日志:mybatis sql语句
- 访问有用户名和密码的网络共享,实现数据导入
- JAVA springboot ssm b2b2c多用户商城系统源码:服务消费(基础)...
- Spark2.2.0 分布式离线搭建
- find指定具体时间参数-newermt
- 7 ArcMap能复制,不能粘贴
- HTML5之地理信息应用 获取自己的位置
- f_bfree和f_bavail的区别
- 26日上午网易等多家网站无法访问“剖析”