问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

C#如何删除datagridview中的表选中的单行或多行数据,并且同步到数据库...

发布网友 发布时间:2022-05-06 10:48

我来回答

2个回答

懂视网 时间:2022-04-14 21:33

前面写过一篇文章是DataGridView控件显示数据的,DataGridView在与数据库打交道时会经常出现,也很实用。通过DataGridView对数据库进行更改和查询都比较方便。 这里我们需要用DataGridView数据,并通过选中行将数据从数据库中删除。 其原理是把选中记录的主

前面写过一篇文章是DataGridView控件显示数据的,DataGridView在与数据库打交道时会经常出现,也很实用。通过DataGridView对数据库进行更改和查询都比较方便。

这里我们需要用DataGridView数据,并通过选中行将数据从数据库中删除。

其原理是把选中记录的主键提取出来,然后传给实体,通过实体给D层传值实现对数据库的修改。

下面是各层代码,供大家参考。

接口层代码都是D层的父类方法,这里只给出D层代码:

 '重写删除用户接口方法
 Public Function DelUser(user As Entity.LoginEntity) As Integer Implements IAddDel.DelUser
 Dim strSQL As String = "delete from User_info where userName=@username"
 Dim params() As SqlParameter = {New SqlParameter("@username", user.user_name)}
 Dim helper As New SqlHelper
 Dim int = helper.ExecuteNoQuery(strSQL, CommandType.Text, params)
 Return int
 End Function

抽象工厂代码:
 Private Shared ReadOnly AssemblyName As String = "DAL" '声明程序集名称
 Private Shared ReadOnly db As String = ConfigurationManager.AppSettings("DB") '读取配置文件

 Public Function AddDel() As IAddDel
 Dim className As String = AssemblyName + "." + db + "AddDelDAL"
 Dim iadddel As IAddDel
 iadddel = CType(Assembly.Load(AssemblyName).CreateInstance(className), IAddDel) '反射
 Return iadddel
 End Function
B层代码:
 '判断是否删除成功
 Public Function IsDelUser(ByVal user As Entity.LoginEntity) As Boolean
 Dim int = iadddel.DelUser(user)
 If int = 1 Then
  Return True
 Else
  Return False
 End If
 End Function
U层代码
 Dim k As Integer = gvwUser.SelectedRows.Count
 Dim thisUser As New Entity.LoginEntity
 Dim ub As New BLL.AddDelBLL
 '判断是否有选择记录
 If k > 0 Then
  If MessageBox.Show("删除用户后将无法恢复!是否继续删除?", "提示", MessageBoxButtons.YesNo, _
    MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
  '从下往上删,避免沙漏效应 
  For i As Integer = k To 1 Step -1
   '获取用户名
   thisUser.user_name = gvwUser.SelectedRows(i - 1).Cells("userName").Value.ToString
   '判断选中用户是否为登录用户
   If thisUser.user_name = UserName Then
   MsgBox("当前用户不能被删除,请重新选择!", vbOKOnly + vbExclamation, "系统提示")
   Exit Sub
   Else
   If ub.IsDelUser(thisUser) = True Then
    MsgBox("删除成功!", vbOKOnly + vbInformation, "系统提示")
   Else
    MessageBox.Show("删除失败!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error)
   End If
   '将从数据库中删除的信息从Datagridview1中删除 
   gvwUser.Rows.RemoveAt(gvwUser.SelectedRows(i - 1).Index)
   End If
  Next
  End If
 Else
  MsgBox("请选中要删除的行")
  Exit Sub
 End If
 End Sub

效果如下:

删除前: 删除后:

我们通过DataGridView对数据进行操作更加直观,但是数据无价,操作数据库时一定要谨慎!以免给我们带来不必要的麻烦。必要时删除前要给与提示,是否确定删除,或者提高操作权限,方便操作的前提是保证数据的安全性!

热心网友 时间:2022-04-14 18:41

StringBuilder
sub
=
new
StringBuilder("delete
from
数据表名
where
编号
in
(");
foreach(DataGridViewRow
row
in
DataGridView1.SelectedRows)
{

sub.Append(row.Cells[0].Value.ToString()+",");
}
sub.Remove(sub.Length-1,1);
//删除最后一个逗号
sub.Append(")");string
str_del
=
sub.ToString();自己使用str_del删除数据
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
请问世事洞明皆学问,人情练达即文章是什么意思呀 世事洞明皆学问人情练达即文章意思 翡翠中的绿是怎么形成的翡翠中的绿是如何形成的 小学资格证音乐好考吗 关于心机套路深的句子 大宗交易体现在龙虎榜吗 一个大锅盖,怎样加两个高频头,收看同一个卫星呢?请高手指教。_百度知 ... 如何制作卫星锅 DNF 里有个任务不知道怎么做,请各位帮我看一下 国内怎么炒黄金期货? c#,stringbuilder的问题 c# StreamWriter 写入请问怎么删除一条记录 java 关于 StringBuilder Java 如何使用输入流和输出流 将txt文件中的某一行数据删除? see you中文什么意思 seeyou中文是什么意思? Java string builder 问题 c#如何删除数据库中数据,删除条件在一个数组里面,执行一次查询搞定,不要循环 在.net中,StringBuilder所占的内存如何释放 吃海鲜时都忌吃什么?吃完后多常时间才能吃水果? 湖北恩施州有什么好玩的景点? 湖北省恩施市属于哪个市? 恩施是一个怎么样的城市? 湖北恩施属于哪个市? 请问两个sata接口的硬盘要不要设主从? 做梦梦到男朋友不要我了,他找了新女朋友,他们看上去很甜蜜,他对我说... 做梦梦见男友跑去跟前女友看电影约会,抛下我,我们分手了解梦 梦见男朋友找前女友不要我了 梦见阴沟里放钱是什么意思? 做梦经常梦到,和我男友分手,男友去找前女友了。 有两个穿背带裤的小胖子是哪部电影 学室内设计的软件 cad、3d 、VR,全称是什么? 室内设计3D是虚物吗? Java中String,StringBuffer和StringBuilder的区别和堆栈内存分配 关于String和StringBuilder比较,该怎么处理 3D室内设计 Visual Studio 2010中c# 实现通过 关键字段 从数据库表中删除该条记录?求高手解答。 StringBuilder.Append()用法? 什么是3D`关于设计类的 中国银行个人手机银行如何开通余额提醒功能? 欧阳娜娜穿小吊带搭背带裤,侧面看很唯美,你喜欢她吗? 巴西,中国,美国,英国,加拿大,澳大利亚,俄罗斯,日本,的首都,人口,国家面积,谢谢帮一下 JAVA 中Stringbuilder类的方法 宝可梦珍珠回忆技能导师在哪 中国,美国,印度,英国,德国,加拿大哪个面积最大。 室内设计学3d应该学到什么程度? 明星无法重拍的旧照,周润发抱着儿时的谢霆锋,郭麒麟还是胖子,你见过吗? 英国国土面积和人口数 我们是网友,才认识两天,我对他有点感觉,我身边也有很多向我表白, 如何修改电脑休眠时间设置
  • 焦点

最新推荐

猜你喜欢

热门推荐