间支付系统,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 │ ...
随机推荐
- 初步swift语言学习笔记8(保留了很多OC实现)
笔者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/32715833 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...
- Cocos2d-X中间应用
(层)Laye:与球员打交道响应事件Node子类. 不同的场景,层通常包括直接在屏幕上呈现的内容.而且能够接受用户的输入事件.包括触摸,加速度计和键盘输入等. 我们须要在层中加入精灵,文本标签或者其它 ...
- JAVA多线程两个实用的辅助类(CountDownLatch和AtomicBoolean)
AtomicBoolean它允许一个线程等待一个线程完成任务,然后运行: A boolean value that may be updated atomically. See the java.ut ...
- Google大数据三篇著名论文----中文版
Google File System中文版 Google Bigtable中文版 Google MapReduce中文版
- 飞天熊猫游戏源代码android文本
这款游戏是前一段时间完毕的一个项目,飞行熊猫游戏源代码android版.飞行熊猫基于cocos2d游戏引擎开发.包含了谷歌admob广告支持,没有不论什么版权问题.大家能够自由改动和上传应用商店. 1 ...
- Android数据库高手秘籍(六)——LitePal的改动和删除操作
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/40083685 在上一篇文章中,我们学会了使用LitePal进行存储数据的功能.确实 ...
- 【Android界面实现】可旋转的汽车3D模型效果的实现
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 今天要给大家介绍的是怎样实现可旋转的汽车3D模型. 先看实现效果 这仅仅是静态图,实际上,这个模型是能够依据 ...
- Mysql编写定时任务事件
原文:Mysql编写定时任务事件 场景: 例如:某系统,用户每天只能拥有一次的抽奖机会,抽过后当天就不可再抽,但是过了24:00点后用户就重新拥有一次抽奖机会.像这种需要数据库定时对某个字段进行更新操 ...
- [POJ 3311]Hie with the Pie——谈论TSP难题DP解决方法
主题连接: id=3311">http://poj.org/problem?id=3311 题目大意:有n+1个点,给出点0~n的每两个点之间的距离,求这个图上TSP问题的最小解 ...
- 在VirtualBox安装OS X 10.10
下面将指导介绍了如何引入自由和强大VirtualBox安装在虚拟机上OS X Yosemite 10.10 法律免责声明:本指南旨在说明如何在定期购买的苹果电脑上创建一个虚拟机执行真正的Mac OS ...