用C#想删除数据库中的内容,能运行,但一点删除就显示“未将对象引用设置到对象的实例。”这个错误。
代码如下:if(dataGridView1.CurrentCell.RowIndex>=0&&dataGridView1.DataSource!=null){DataSe...
代码如下:
if (dataGridView1.CurrentCell.RowIndex >= 0 && dataGridView1.DataSource != null)
{
DataSet s = new DataSet();
string sql1= "delete * from 企业人事档案 where 编号='" + s.Tables["企业人事档案"].Rows[dataGridView1.CurrentCell.RowIndex][0].ToString().Trim() + "'";
OleDbCommand cmd = new OleDbCommand(sql1, myConnection);
cmd.CommandText = sql1;
cmd.ExecuteNonQuery();
MessageBox.Show("删除'" + s.Tables["企业人事档案"].Rows[dataGridView1.CurrentCell.RowIndex][0].ToString().Trim() + "'成功", "提示");
s.Clear();
myDataAdapter.Fill(s, "企业人事档案");
dataGridView1.DataSource = s.Tables[0].DefaultView;
string sql1= "delete * from 企业人事档案 where 编号='" + s.Tables["企业人事档案"].Rows[dataGridView1.CurrentCell.RowIndex][0].ToString().Trim() + "'";
错误显示是这句 展开
if (dataGridView1.CurrentCell.RowIndex >= 0 && dataGridView1.DataSource != null)
{
DataSet s = new DataSet();
string sql1= "delete * from 企业人事档案 where 编号='" + s.Tables["企业人事档案"].Rows[dataGridView1.CurrentCell.RowIndex][0].ToString().Trim() + "'";
OleDbCommand cmd = new OleDbCommand(sql1, myConnection);
cmd.CommandText = sql1;
cmd.ExecuteNonQuery();
MessageBox.Show("删除'" + s.Tables["企业人事档案"].Rows[dataGridView1.CurrentCell.RowIndex][0].ToString().Trim() + "'成功", "提示");
s.Clear();
myDataAdapter.Fill(s, "企业人事档案");
dataGridView1.DataSource = s.Tables[0].DefaultView;
string sql1= "delete * from 企业人事档案 where 编号='" + s.Tables["企业人事档案"].Rows[dataGridView1.CurrentCell.RowIndex][0].ToString().Trim() + "'";
错误显示是这句 展开
4个回答
展开全部
asp.net中用控件删除的时候必须传递实体,不能用ID删除,比如:
Delete(int id); //通常用这个方法就可以删,但是asp.net中的ListView,Repeater控件都不行,
需要定义成Delete(Student stu); //参数传递实体,并且在控件的<asp:Repeater ...... DataKeyName="Id" > 给控件传一个DataKeyName="Id" 这样才能按Id删除,
如果楼主报未将对象引用设置到对象的实例(空指针)的错误,8成就是因为对象在某处为null所致,使得对象的指针无处所指,造成报错
Delete(int id); //通常用这个方法就可以删,但是asp.net中的ListView,Repeater控件都不行,
需要定义成Delete(Student stu); //参数传递实体,并且在控件的<asp:Repeater ...... DataKeyName="Id" > 给控件传一个DataKeyName="Id" 这样才能按Id删除,
如果楼主报未将对象引用设置到对象的实例(空指针)的错误,8成就是因为对象在某处为null所致,使得对象的指针无处所指,造成报错
追问
不是很懂,能说的详细点吗?3Q
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
myDataAdapter.Fill(s, "企业人事档案");
dataGridView1.DataSource = s.Tables[0].DefaultView;
这句话中myDataAdapter在那定义的,又在哪执行的
dataGridView1.DataSource = s.Tables[0].DefaultView;
这句话中myDataAdapter在那定义的,又在哪执行的
更多追问追答
追问
myDataAdapter在最前面定义的
追答
(1)既然myDataAdapter已经定义,那就暂且不管。
(2)你想啊,你已经把当前行删掉了,你在指向CurrentCell还有吗,所以你可以再删除之前,把CurrentCell的值暂时保存下,删除后你就还可以用那个临时变量。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
点击控件 属于找到DataKeyName把唯一字段名字填写在这里 然后后台获取实行删除
追问
DataKeyName这个要自己定义吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 DataClasses1DataContext 吗?还是没用,直接联的?
追问
什么意思?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询