首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# listview 数据库剔除功能提示“未将对象引用设置到对象的实例”

2013-04-21 
C# listview数据库删除功能提示“未将对象引用设置到对象的实例”如题,直接上代码:private void buttonDel_C

C# listview 数据库删除功能提示“未将对象引用设置到对象的实例”
如题,直接上代码:
private void buttonDel_Click(object sender, EventArgs e)
        {
                 string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\\毕业设计\\ASSM.accdb";
           
            OleDbConnection connection = new OleDbConnection(connectionString);
            DialogResult dr = MessageBox.Show("确定要删除所选记录?  ", "Photonsoft", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
            if (dr == DialogResult.OK)
            {
                    try
                    {

                        connection.Open();//打开连接。
                        string id = "";   //此处的id是我的记录在数据库中的ID (唯一识别号) 。
                       
                        foreach (ListViewItem item in listView1.SelectedItems) //遍历已选中的记录。
                        {
                            for ( int i = 0; i < listView1.SelectedItems.Count; i++) // 在以选中的记录中遍历获取每个记录的id并删除之。
                            {
                                if (this.listView1.SelectedItems[i].Selected)     //如果第i行被选中的话,取得该选中行的索引号
                                {
                                    
                                    DataSet ds = new DataSet();
                                   id = ds.Tables["ASSM"].Rows[this.listView1.SelectedIndices[i]][0].ToString();   //获取选中的第i条记录在数据库中的id号。



                                    string sql = string.Format("delete from notes where id='{0}'", id); //删除语句。

                                    //string sql = "delete * from ASSM where id="ds.Tables["ASSM"].Rows[this.listView1.SelectedIndices[i]][0].ToString()"";
                                    OleDbCommand cmd = new OleDbCommand(sql, connection);
                                    cmd.ExecuteNonQuery(); //执行删除。
                                    cmd.Dispose();
                                    
                                  

                                }
                            }
                        }

                        listView1.Refresh(); //删除结束后刷新listView。
                    }

                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }

                      
                        
                        return ;
                  

                }


           
                connection.Close();
                
        

        }

我是参考http://blog.csdn.net/xingqingxiang/article/details/7086531这个博文做的,可是总是提示“未将对象引用设置到对象的实例”我不知道怎么办了,研究了好几天了,真心希望大家可以帮帮我。 数据库 C# listview 未将对象引用设置到对象的实例
[解决办法]
ds.Tables["ASSM"]是否有值?
this.listView1.SelectedIndices[i]][0].ToString()这个的值是多少,单步调试看下就知道是那个出问题了
[解决办法]
DataSet ds = new DataSet();
id = ds.Tables["ASSM"].Rows[this.listView1.SelectedIndices[i]][0].ToString();   //获取选中的第i条记录在数据库中的id号。
这个ds是刚建的,你都没给赋值,那里头的table肯定是空的啊。。。而且你连查询数据库语句都没有,怎么查看数据库记录啊??
OleDbDataAdapter da = new OleDbDataAdapter();
            da.SelectCommand.CommandText = sql查询语句;
            da.Fill(ds);

热点排行