datagridview删除行

来源:百度知道 编辑:UC知道 时间:2024/05/22 20:39:48
各位大哥大姐,我是个C#菜鸟,请给为大哥大姐给小弟指点指点,小弟跪谢~~~
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace 用户
{
public partial class 用户管理 : Form
{

SqlDataAdapter thisAdapter;
DataSet thisDataSet = new DataSet();
DataSet mydataset = new DataSet();
public 用户管理(info parent)
{
InitializeComponent();
this.MdiParent = parent;
userload();
}
public void userload()
{

SqlConnection thisConnection = new SqlConnection(
"Server=(local);Integrated Security=True;" +
"Database=stu");
thisAdapter = new Sq

删除有两种情况:
一、手工删除dataGridView选中行,数据库里的数据没有改变,代码:
if (this.dgvXFLB.SelectedRows.Count > 0){DataRowView drv = dgvXFLB.SelectedRows[0].DataBoundItem as DataRowView;
drv.Delete();}判断是否有被选中的行,然后将该行删除,只是dataGridView里移除了,数据库里没有发生任何改变。(dgvXFLB是dataGridView)
二、数据库里删除该行数据:
首先得知道这条数据的主键,根据主键删除相应内容。
使用Sql语句删除
OracleCommand oracomm = new OracleCommand("delete from 表名 where ID="+主键值+"", oraconn);
oracomm.ExecuteNonQuery();

相关知识,请百度搜索关键字:datagridview

DataRowView drv = dataGridView1.SelectedRows[0].DataBoundItem as DataRowView;
drv.Delete();
这么说来你所进行的删除操作只是以上两句代码吧?这样肯定是不行的。
你的操作过程是先将数据库中相应的表读取到DataSet中,这时与数据库可以说是完全无关了,也就是说你更改DataSet中的表并不能影响到数据库。
然后你是执行dataGridView1.DataSource = thisDataSet.Tables[0]; dataGridView1就有数据出来了。这样一来呢,你对dataGridView1更改数据怎么可能对数据库有影响呢,对吧?不知道我说得够通俗没有呢?

如果你要删除:应这样写
SqlConnection thisConnection = new SqlConnection(
&q