C# 在Datagridview中修改数据

using System;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Test03
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        SqlConnection conn;
        SqlDataAdapter adapter;
        private void button1_Click(object sender, EventArgs e)
        {
            conn = new SqlConnection("server=.;database=db_foavin;uid=sa;pwd=");
            SqlDataAdapter sda = new SqlDataAdapter("select * from tb_avin1",conn);
            DataSet ds = new DataSet();
            sda.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
            dataGridView1.RowHeadersVisible = false;
            for (int i = 0; i < dataGridView1.ColumnCount;i++ )
            {
                dataGridView1.Columns[i].Width = 84;
            }
            button1.Enabled = false;
            dataGridView1.Columns[0].ReadOnly = true;
        }
        private DataTable dbconn(string strSql)
        {
            conn.Open();
            this.adapter = new SqlDataAdapter(strSql, conn);
            DataTable dtSelect = new DataTable();
            int rnt = this.adapter.Fill(dtSelect);
            conn.Close();
            return dtSelect;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            if (dbUpdate())
            {
                MessageBox.Show("修改成功!");
            }
        }
        private Boolean dbUpdate()
        {
            string strSql = "select * from tb_avin1";
            DataTable dtUpdate = new DataTable();
            dtUpdate = this.dbconn(strSql);
            dtUpdate.Rows.Clear();
            DataTable dtShow = new DataTable();
            dtShow = (DataTable)this.dataGridView1.DataSource;
            for (int i = 0; i < dtShow.Rows.Count; i++)
            {
                dtUpdate.ImportRow(dtShow.Rows[i]);
            }
            try
            {
                this.conn.Open();
                SqlCommandBuilder CommandBuiler;
                CommandBuiler = new SqlCommandBuilder(this.adapter);
                this.adapter.Update(dtUpdate);
                this.conn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
                return false;
            }
            dtUpdate.AcceptChanges();
            return true;
        }
    }
}




问下那个DataTable db_conn(string strSql)
{}
和private Boolean dbUpdate()
{}
这两个是哪来的?
怎么创建???
直接复制代码运行不了……

C# 中,DataGridView 控件是一个用于显示表格数据的强大工具,可以方便地进行批量修改操作。以下是使用 DataGridView 进行批量修改数据的基本步骤: 1. **获取 DataGridView 数据源**: 确保 DataGridView 的 DataSource 已经设置好,例如来自数据库、集合或其他数据结构。 ```csharp DataGridView dataGridView = new DataGridView(); dataGridView.DataSource = yourDataSource; // replace with your actual data source ``` 2. **筛选出需要修改数据**: 可能通过选择列、范围或条件来选择特定行。例如,你可以选择所有单元格值满足某个条件的行。 ```csharp List<int> selectedRows = dataGridView.SelectedRows.Cast<DataGridViewRow>().Select((row, index) => index).ToList(); // 获取选中的行索引 ``` 3. **遍历并修改数据**: 使用 `foreach` 循环访问选定行,并对指定列进行修改。 ```csharp foreach (int rowIndex in selectedRows) { DataGridViewRow row = dataGridView.Rows[rowIndex]; // 修改某一列的值 object oldValue = row.Cells["ColumnName"].Value; // 替换为实际的列名 object newValue = ModifyCellValue(oldValue); // 自定义修改函数 row.Cells["ColumnName"].Value = newValue; } ``` 4. **保存更改**: 如果 DataGridView 的 DataSource 来自数据库,记得手动更新或提交更改。如果是内存中的数据,这一步通常不需要额外处理。 5. **异常处理**: 遇到错误时,别忘了添加适当的异常处理代码。 ```csharp try { dataGridView.Refresh(); // 更新数据显示更改 // 数据库更新或其他持久化操作 } catch (Exception ex) { Console.WriteLine($"批量修改时发生错误: {ex.Message}"); } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值