机房重构---添加删除用户(删除DataGridView选定行,更新数据库)
来源:互联网 发布:网络直播方案 编辑:程序博客网 时间:2024/05/17 15:06
前言:
我们在添加删除用户这个功能时,有一个选中行删除,下面就让我来告诉你们怎么在DataGridView来实现这个功能吧
内容:
1、绑定数据源
参考这篇博客:http://blog.csdn.net/tgbyn/article/details/74858291
2、代码的展示
(1)窗体加载中添加可选择用户级别
Private Sub frmAdDeleteAddUser_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'TODO: 这行代码将数据加载到表“LoginDataSet4.Y_User_Info”中。您可以根据需要移动或删除它。 Me.Y_User_InfoTableAdapter.Fill(Me.LoginDataSet4.Y_User_Info) With cmbSelect .Items.Add("管理员") .Items.Add("操作员") .Items.Add("一般用户") End With '隐藏工具栏 FillByToolStrip.Hide() '清空DataGridView表中数据 While (DataGridView1.RowCount > 0) DataGridView1.Rows.Remove(DataGridView1.Rows(0)) End While End Sub
(2)用户级别的选择-控件改变事件,同时根据选择显示相应的信息
Private Sub cmbSelect_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbSelect.SelectedIndexChanged LevelToolStripTextBox.Text = cmbSelect.SelectedItem.ToString() '将自己添加的Combo中的内容赋给ToolStripTextBox控件 Try Me.Y_User_InfoTableAdapter.FillBy(Me.LoginDataSet4.Y_User_Info, LevelToolStripTextBox.Text) Catch ex As System.Exception System.Windows.Forms.MessageBox.Show(ex.Message) End Try End Sub
(3)删除选中行
Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click '判断是否选中 If Me.DataGridView1.SelectedRows.Count > 0 Then If MessageBox.Show("删除后不可恢复,确定要删除选中的用户吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then Delete() End If Else MessageBox.Show("请选择要删除的用户!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If End Sub Public Sub Delete() Dim k As Integer = Me.DataGridView1.SelectedRows.Count Dim user As New Entity.Entity Dim deleteUser As New Facade.DeleteUserFacade ‘外观层 If DataGridView1.Rows.Count > 0 Then '从下往上删,避免沙漏效应 For i As Integer = k To 1 Step -1 '获取选中行的列名,并将用户名UserID赋值给userDele Dim userDele As String = DataGridView1.SelectedRows(i - 1).Cells("UserID").Value.ToString '如果选中行用户为正在登录的用户,则不能删除 If Form1.txtUserID.Text =userDele Then MsgBox("当前用户不能被删除,请重新选择!", vbOKOnly + vbExclamation, "系统提示") Exit Sub Else user.userID = userDele End If If deleteUser.deleuserFacade(user) Then MsgBox("删除成功", vbOKOnly + vbInformation, "系统提示") Else MessageBox.Show("删除失败!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error) Return End If '将从数据库中删除的信息从Datagridview1中删除 Me.DataGridView1.Rows.RemoveAt(DataGridView1.SelectedRows(i - 1).Index) Next Else DataGridView1.Rows.Clear() End If End Sub
(4)获取选中行的用户名
'获取选中行的列名,并将用户名UserID赋值给userDele Dim userDele As String = DataGridView1.SelectedRows(i - 1).Cells("UserID").Value.ToString
(5)外观层代码 ,后面几层自己写就好
Imports BLLImports EntityPublic Class DeleteUserFacade Public Function deleuserFacade(user As Entity.Entity) Dim deleuserBll As New BLL.DeleteUserBLL Dim dt As Integer dt = deleuserBll.deleteUser(user) Return dt End FunctionEnd Class
(6)D层代码--数据库删除选中行数据
Imports System.Data.SqlClientImports System.DataImports EntityImports IDALImports SQLHelperPublic Class DeleteUserDAL : Implements IDAL.IDeleteAddUser Public Function Ideleteadduser(ByVal user As Entity.Entity) Implements IDAL.IDeleteAddUser.Ideleteadduser Dim sqlhelper As New SQLHelper.sqlhelper Dim Dt As Integer Dim sqlDelete As String Dim paras As SqlParameter() = {New SqlParameter("@UserID", user.userID)} sqlDelete = "delete from Y_User_Info where UserID = @UserID " Dt = sqlhelper.ExecAddDelUpdate(sqlDelete, CommandType.Text, paras) Return Dt End FunctionEnd Class
3、总结:
这次显示查询到的数据是直接用的DataGridView连接数据源查询的,只有删除选中行是走的七层,感觉挺方便的,没有费多少事。在DataGridView中的添加查询里面,那个查询语句写成删除语句,也是可以执行的。很多东西需要我们去探索。
阅读全文
0 0
- 机房重构---添加删除用户(删除DataGridView选定行,更新数据库)
- 【个人机房重构】——删除DataGridView选中行并更新数据库㈢
- 机房重构—删除用户析DataGridView
- 机房重构——三层添加删除用户
- dataGridView删除(选定一行删除)
- dataGridView 添加删除更新按钮
- 删除Datagridview选中行并更新数据库
- 删除DataGridView选中行并更新数据库
- 机房收费系统之添加删除用户
- [vb版机房] 添加和删除用户
- 机房收费系统之添加删除用户
- DataGridView填充、更新、删除(多行)Sql Express 2005数据库
- DataGridView填充、更新、删除(多行)Sql Express 2005数据库
- DataGridView填充、更新、删除(多行)Sql Express 2005数据库
- DataGridView填充、更新、删除(多行)Sql Express 2005数据库
- DataGridView填充、更新、删除(多行)Sql Express 2005数据库
- Oracle数据库添加删除用户
- Datagridview更新删除
- Face++ 人脸识别,身份识别集成
- FPGA多时钟处理应用
- 单例模式
- 1025. PAT Ranking (25)
- dlib 02 dlib人脸关键点检测器训练
- 机房重构---添加删除用户(删除DataGridView选定行,更新数据库)
- 记录自己微信开发趟过的那些坑
- java类加载器笔记
- Tiled Map Editor(三)
- mysql索引的操作
- bzoj1180OTOCI 动态树(Linked-Cut-Tree)
- 基于S3C2440的UART传输小结
- MySQL用户管理
- 简单Java四则运算