当前位置: 代码迷 >> C# >> 对于绑定数据源的datagridview怎么实时更新数据
  详细解决方案

对于绑定数据源的datagridview怎么实时更新数据

热度:56   发布时间:2016-05-05 04:52:23.0
对于绑定数据源的datagridview如何实时更新数据
我在数据源中更新了数据,插入一行,然后再datagridview中,不能更新插入的该行,要怎么处理?
------解决思路----------------------
DataGridView更新数据、插入数据示例
//更新按钮事件设置
private datatier dt = new datatier();//定义datatier类型的私有字段
 private void btn_update_Click(object sender, EventArgs e)
        {
            //调用datatier对象的Update()方法,更改数据库中的信息
            dt.Update(new Instance() { Name = txt_name_update.Text, phone = txt_phone_update.Text });
            dataGridView1.DataSource = dt.Select();//更新dataGridView1控件中的信息
            Clear();//清空TextBox控件中的文本
        }//codego.net/1/1/1/
//自定义类型的私有字段设置
 public void Update(Instance it)
        {
            SqlConnection sc = GetConnection();//调用GetConnections()方法,得到连接对象
            try
            {
                sc.Open();//打开到数据库的连接
                SqlCommand cmd = new SqlCommand(//创建SqlCommand对象
                    "update tb_friend set [email protected] where [email protected]", sc);
                cmd.Parameters.Add("@names", SqlDbType.VarChar).Value = it.Name;//向SqlCommand对象添加参数
                cmd.Parameters.Add("phone", SqlDbType.VarChar).Value = it.phone;//向SqlCommand对象添加参数
                cmd.ExecuteNonQuery();//执行SqlCommand对象中的SQL命令
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                if (sc.State == ConnectionState.Open)//判断是否连接数据库
                {
                    sc.Close();//如果已经连接则关闭连接
                }
            }
        }
//插入按钮事件

 private void button1_Click(object sender, EventArgs e)
        {
            //调用datatier对象的Add()方法向数据库添加数据
            dt.Add(new Instance() { Name = txt_name_add.Text, phone = txt_phone_add.Text });
            dataGridView1.DataSource = dt.Select();//更新dataGridView1控件中的信息
            Clear();//清空TextBox控件中的文本
        }
//调用dt类型的Add添加信息
 public void Add(Instance it)
        {
            SqlConnection sc = GetConnection();//调用GetConnections()方法,得到连接对象
            try
            {
                sc.Open();//打开到数据库的连接
                SqlCommand cmd = new SqlCommand(//创建SqlCommand对象
                    "insert into tb_friend(names,phone) values(@names,@phone)", sc);
                cmd.Parameters.Add("@names", SqlDbType.VarChar).Value = it.Name;//向SqlCommand对象添加参数
                cmd.Parameters.Add("phone", SqlDbType.VarChar).Value = it.phone;//向SqlCommand对象添加参数
                cmd.ExecuteNonQuery();//执行SqlCommand对象中的SQL命令
            }
            catch (Exception ex)//捕获异常
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                if (sc.State==ConnectionState.Open)//判断是否连接数据库
                {
                    sc.Close();//如果已经连接则关闭连接
                }
            }
        }
  相关解决方案