Datagridview绑定时,删除行时引发异常 而且,目测你所谓的删除并不是真的remove,而是把那一行赋值为空,这是不行的.已经绑定了数值型的字段,数据是不可以为null的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我本来是有一个保存按钮,删除后点保存的听你这么一说是不是需要直接修改数据库再绑定?或者说怎么样修改DataTable然后更新数据库并重新绑定? 绑定数据后不直接修改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 names=@names", 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();//如果已经连接则关闭连接 } } } 我最后的操作是选择整行删除时不跳过将单元格值设为Null,框选单元格删除时就进行列类型分别处理 Using 引用问题 Excel问题 C# winform开发 读取XML中的部分数据 关于字节流的问题 使用Webbrowser的时候遇到的问题 Treeview的问题 开发客户端的程序,需要注意那几个方面的问题?请做过大虾给于支持.谢谢. 【散分】原创论坛准备发布,大家提意见 用C#编写的ActiveX控件问题 如何获取treeview选中的层数? 向大家提供:“应用‘工厂’模式 实现 数据库访问驱动中立”的方案 请高人指点,如何改变dataGrid单元格字体颜色 treeview添加系统图标
听你这么一说是不是需要直接修改数据库再绑定?
或者说怎么样修改DataTable然后更新数据库并重新绑定?
//定义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 names=@names", 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();//如果已经连接则关闭连接
}
}
}