间支付系统,DataGridView
我们通常看到很多的学习使用控制数据库和接口连接——DataGridView,在我们的房间,当我们敲开使用第一遍阶段似该控件——MSHFlexGrid,随着学习的深入,发现我们用到的平台越来越人性化了,如今用的VS2013的控件——DataGridView能够直接和数据库相连接,今天重点说一下DataGridView删除行并同一时候更新数据库功能的实现:
这是删除前的效果,我们要实现的是如图的效果,左图为界面。右图为数据库中的数据。可是还须要考虑要删除的用户是否正在登录。假设正在登录。则不能删除。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ2RhbjE5OTExMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" width="300" height="170" alt="">
删除后的效果:
实现这个功能主要是在U层加了一个方法,B层、D层和其它删除时是大相径庭的,以下看一下代码实现部分:
1、D层:
Public Function DelUser(enUser As UserInfoEntity) As Integer Implements IUserInfo.DelUser
Dim cmdText As String
Dim sqlParams As SqlParameter()
Dim sqlHelper As New SqlHelper
Dim intResult As Integer cmdText = "Delete from T_UserInfo where UserID=@UserID"
sqlParams = {New SqlParameter("@UserID", enUser.UserID)}
intResult = sqlHelper.ExecuteAddDelUpdate(cmdText, CommandType.Text, sqlParams) Return intResult
End Function
2、B层:
Public Function DelUser(ByVal enUser As UserInfoEntity) As Integer
Dim iUserInfo As IUserInfo
Dim intResult As Integer iUserInfo = factory.CreateSelectUser()
intResult = iUserInfo.DelUser(enUser) Return intResult End Function
3、U层:
a.定义一个删除行的过程:
''' <summary>
''' 删除用户的自己定义过程
''' </summary>
''' <remarks></remarks>
Public Sub DelUser()
Dim intRows As Integer = DataGridView1.SelectedRows.Count '推断选中的行数
Dim intDelRow As Integer
Dim enUser As New UserInfoEntity
Dim bllAddDelUser As New AddDelUserBLL
Dim strUserID As String '获取选中数据的第一列值
Dim intResult As Integer If intRows > 0 Then
'从下往上删除,防止漏行
For intDelRow = intRows To 1 Step -1
strUserID = DataGridView1.SelectedRows(intDelRow - 1).Cells("UserIDDataGridViewTextBoxColumn").Value.ToString()
'假设该用户正在工作,则不能删除
If pubshare.strUserName = strUserID.Trim() Then
MsgBox("该用户正在工作,不能删除", vbOKOnly + vbExclamation, "提示")
Exit Sub
Else
'将要删除的用户ID传给实体
enUser.UserID = strUserID
'同一时候将该实体的信息从数据库中删除
intResult = bllAddDelUser.DelUser(enUser)
If intResult > 0 Then
'将数据库中所删除的相应的信息在dataGridview表中也删除
DataGridView1.Rows.RemoveAt(DataGridView1.SelectedRows(intDelRow - 1).Index)
MsgBox("删除成功", vbOKOnly + vbExclamation, "提示")
Else
MsgBox("删除失败", vbOKOnly + vbExclamation, "提示")
End If
End If Next
Else
DataGridView1.Rows.Clear()
End If
End Sub
b.通过点击删除button来实现这个过程:
Private Sub btnDel_Click(sender As Object, e As EventArgs) Handles btnDel.Click
If DataGridView1.SelectedRows.Count > 0 Then
If MessageBox.Show("确定要删除所选信息吗?", "提示", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
DelUser()
End If
Else
MessageBox.Show("请选择要删除的用户! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Return
End If End Sub
不过个人的一点想法,希望和大家交流!
版权声明:本文博客原创文章,博客,未经同意,不得转载。
间支付系统,DataGridView的更多相关文章
- 国内首款开源的互联网支付系统roncoo-pay
roncoo-pay是国内首款开源的互联网支付系统,其核心目标是汇聚所有主流支付渠道,打造一款轻量.便捷.易用,且集支付.资金对账.资金清结算于一体的支付系统,满足互联网业务系统的收款和业务资金管理需 ...
- Java生鲜电商平台-商家支付系统与对账系统架构实战
Java生鲜电商平台-商家支付系统与对账系统架构实战 说明:关于生鲜电商平台,支付系统是连接消费者.商家(或平台)和金融机构的桥梁,管理支付数据,调用第三方支付平台接口,记录支付信息(对应订单号,支付 ...
- Dubbo入门到精通学习笔记(七):基于Dubbo的分布式系统架构介绍(以第三方支付系统架构为例)、消息中间件的作用介绍
文章目录 架构简单介绍 消息中间件在分布式系统中的作用介绍 消息中间件的定义 消息中间件的作用 应用场景 JMS(Java Message Service) JMS消息模型 实现了JMS规范的消息中间 ...
- Atitit 在线支付系统功能设计原理与解决方案 与目录
Atitit 在线支付系统功能设计原理与解决方案 与目录 1.1. 支付系统1 1.2. 独立的支付子体系..微服务架构..1 1.3. 参考书籍1 支付战争 [The PayPal Wars:Bat ...
- 基于支付系统真实场景的分布式事务解决方案效果演示: http://www.iqiyi.com/w_19rsveqlhh.html
基于支付系统真实场景的分布式事务解决方案效果演示:http://www.iqiyi.com/w_19rsveqlhh.html
- XxPay支付系统-boot版本 使用
https://segmentfault.com/a/1190000016987391?utm_source=tag-newest 有三个版本: spring boot 版本: spring clou ...
- XxPay支付系统-boot版本了解一下
了解一下 之前看了龙果支付系统,也没看透,用公司框架改写,然后就改的比较乱
- Java电商支付系统实战(一)- 简介
现如今,支付成为热点 对于电商业务,这都是不可或缺的 核心功能剖析 下单->支付 nginx 将用户请求反向代理到我们编写的电商系统 = 下单 之后,点击支付跳转到支付系统,最后对接 通过跳转将 ...
- SpringBoot2.1电商通用(微信+支付宝)支付系统实战
『课程目录』: ├─第10章 全模块电商系统之商品模块 │ 10-1_商品列表-上.mp4 │ 10-2_商品列表-中.mp4 │ 10-3_商品列表-下.mp4 │ ...
随机推荐
- HDU 4300 Clairewd’s message(扩展KMP)
思路:extend[i]表示原串以第i開始与模式串的前缀的最长匹配.经过O(n)的枚举,我们能够得到,若extend[i]+i=len且i>=extend[i]时,表示t即为该点之前的串,c即为 ...
- Android 按下电源按钮关闭小学习过程的整个长度
Android 按下电源按钮关闭小学习过程的整个长度 近期研究了一下android关机跟又一次启动功能,看了一些长按电源键到弹出关机对话框,到真正关机的一系列处理过程. 首先还是来看看这个长按电源键都 ...
- Team Foundation Server 2015使用教程--团队项目删除
- Android文本Flood it游戏源代码
flood_it 流行的Flood it游戏的Android版 游戏玩法: 按下屏幕下方的颜色button,左上角的色块就会变颜色.仅仅要把整片色块变成同色就赢了. 效果图 <ignore_js ...
- Android SystemUI源代码分析和修改
1.在导航栏中添加音量加减button 一些Android音量调节button.或者从保护实体按键的角度考虑,就须要在导航栏的虚拟按键中加入音量加减调节按键. 效果例如以下图所看到的: 实现步骤例如以 ...
- leetcode第一刷_Length of Last Word
不是非常明确出题人的意图,事实上这道题用java的话简直是太简单了,用split处理一下,得到全部单词的一个数组,然后求最后一个的长度即可了.我个人认为java里最成功的函数就是split了,我做pr ...
- 写自己的第二级处理器(3)——Verilog HDL行为语句
我们会继续上传新书<自己动手写处理器>(未公布),今天是第七章,我每星期试试4 2.6 Verilog HDL行为语句 2.6.1 过程语句 Verilog定义的模块一般包含有过程语句,过 ...
- linux(fedora) 下dvwa 建筑环境
linux(fedora)下dvwa组态 1.下载httpd,dvwa,mysql,mysqlserver, php-mysql,php 除了dvwa 这是外界进入下一官方网站.该服务通过休息inst ...
- zoj 3537 Cake (凸包确定+间隔dp)
Cake Time Limit: 1 Second Memory Limit: 32768 KB You want to hold a party. Here's a polygon-sha ...
- Chromium Graphics: GPUclient的原理和实现分析之间的同步机制-Part I
摘要:Chromium于GPU多个流程架构的同意GPUclient这将是这次访问的同时GPU维修,和GPUclient这之间可能存在数据依赖性.因此必须提供一个同步机制,以确保GPU订购业务.本文讨论 ...