C# 通过DataGridview的直接更新MSSQL

3 篇文章 0 订阅

第一步 将MSSQL数据库数据显示到DataGridview中

/**首先连接数据库,再将数据库中数据存放在DataSet(或者DataTabel)中 因为二者用法相同,这里只介绍DataSet用法。
然后将dataGridView中的数据和存在DataSet中的数据进行绑定**/

public void showDataGridview(fileName)
{//fileName 为 库中表名
DataSet Ds = new DataSet();   
//连接数据库
SqlConnection coon = new SqlConnection();
//DataSource="IP地址/数据库服务器名称"
//database="数据库名称"
coon.ConnectionString="DataSource=MS-20160711YGWJ;database=Student;uid=sa;pwd=123456";
coon.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from " + fileName + "", coon);   
//将数据库中数据导入DataSet中   
da.Fill(Ds);
//dataGridView数据绑定
dataGridView1.DataSource = Ds.Tables[0];
coon.Close();
coon.Dispose();
}

第二步 在DataGridview中修改数据并更新到数据库

/ **编写dataGridView的CellValueChanged事件
动态MSSQL更新数据库**/

 public Frmtest()
{
 InitializeComponent();
 dataGridView1.CellValueChanged+=dataGridView1_CellValueChanged; 
}
void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
        //连接数据库
            SqlConnection coon = new SqlConnection();
            coon.ConnectionString="DataSource=MS-20160711YGWJ;database=Student;uid=sa;pwd=123456";
            coon.Open();
            //获取列标题
            string          strcolumn=dataGridView1.Columns[e.ColumnIndex].HeaderText;
            //获取焦点触发行的第一个值
            string strrow = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
            //获取当前点击的活动单元格的值
            string value = dataGridView1.CurrentCell.Value.ToString();
            string strcomm = "update " + fileName + "  set " + strcolumn + "='" + value + "'where stu_num = " + strrow;
      //格式:update 表名 set 列名 = value where id = strrow
            SqlCommand comm = new SqlCommand(strcomm, coon);
            comm.ExecuteNonQuery();
            coon.Close();
        }
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你好!针对你的问题,我可以给你以下的回答: 1. 绑定BindingList类型 在C#中,我们可以通过以下步骤将一个BindingList类型的数据源绑定到DataGridView控件上: - 首先,在窗体上拖拽一个DataGridView控件,设置它的DataSource属性为要绑定的BindingList对象。 - 然后,通过代码设置DataGridView中各列的显示格式、排序方式、编辑方式等属性。 - 最后,通过调用DataGridView的DataBind()方法,使得数据源与DataGridView控件进行关联。 具体的代码实现可以参考以下示例: ``` BindingList<MyData> dataList = new BindingList<MyData>(); // 定义一个BindingList类型的数据源 // 添加数据到dataList中 ... dataGridView1.DataSource = dataList; // 绑定数据源到DataGridView控件上 dataGridView1.Columns["PropertyName"].HeaderText = "列名"; // 设置列的显示格式 dataGridView1.Columns["PropertyName"].SortMode = DataGridViewColumnSortMode.Automatic; // 设置列的排序方式 dataGridView1.Columns["PropertyName"].ReadOnly = true; // 设置列为只读 dataGridView1.Columns["PropertyName"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; // 设置列内容的对齐方式 dataGridView1.AutoGenerateColumns = false; // 关闭自动生成列 dataGridView1.DataBind(); // 数据绑定 ``` 2. 更新数据 当BindingList中的数据发生变化时,DataGridView控件会自动更新显示的内容,不需要手动调用刷新方法。如果需要手动更新DataGridView控件,可以通过以下代码实现: ``` dataGridView1.Refresh(); // 刷新DataGridView控件 ``` 另外,如果需要对DataGridView中的数据进行增、删、改操作,可以直接对BindingList对象进行操作,DataGridView控件会自动更新显示的内容。例如: ``` dataList.Add(new MyData()); // 添加一条数据 dataList.RemoveAt(0); // 删除第一条数据 dataList[0].PropertyName = "NewValue"; // 修改第一条数据的属性值 ``` 以上就是C#DataGridView控件绑定BindingList类型数据源和更新的相关内容,希望能够帮到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值