当前位置: 代码迷 >> C# >> Datagridview绑定时,删除行时引发错误
  详细解决方案

Datagridview绑定时,删除行时引发错误

热度:149   发布时间:2016-05-05 05:03:11.0
Datagridview绑定时,删除行时引发异常

操作时发现:日期格式、整数格式的字段都会产生异常,确认后还是可以通过,请问这个要怎么避免?
------解决思路----------------------
而且,目测你所谓的删除并不是真的remove,而是把那一行赋值为空,这是不行的.
已经绑定了数值型的字段,数据是不可以为null的
------解决思路----------------------
绑定数据后不直接修改Datagridview,修改DataTable就可以了。
------解决思路----------------------
DataGridView绑定数据删除信息示例
//定义datatier类型的私有字段
  private datatier dt = new datatier();
//删除指定信息事件按钮
 private void btn_delete_Click(object sender, EventArgs e)
        {
            dt.Remove(txt_name_delete.Text);//调用datatier对象的Remove()方法,从数据库中删除数据
            dataGridView1.DataSource = dt.Select();//更新dataGridView1控件中的信息
            Clear();//清空TextBox控件中的文本
        }//codego.net/tags/1/1/
//自定义类删除信息
 class datatier
    {
        private SqlConnection GetConnection()
        {
            //返回连接到数据库的SqlConnection对象
            return new SqlConnection("server=WRET-MOSY688YVW\\MRGLL;database=db_test;Trusted_Connection=true");
        }
 public void Remove(string Name)
        {
            SqlConnection sc = GetConnection();//调用GetConnections()方法,得到连接对象
            try
            {
                sc.Open();//打开到数据库的连接
                SqlCommand cmd = new SqlCommand(//创建SqlCommand对象
                    "delete from tb_friend where [email protected]", sc);
                cmd.Parameters.Add("@names", SqlDbType.VarChar).Value = Name;//向SqlCommand对象添加参数
                cmd.ExecuteNonQuery();//执行SqlCommand对象中的SQL命令
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                if (sc.State == ConnectionState.Open)//判断是否连接数据库
                {
                    sc.Close();//如果已经连接则关闭连接
                }
            }
        }
  相关解决方案