bug制造家 2017-04-20 03:40 采纳率: 0%
浏览 1161

datagridview中我点击按钮 手动填入数据 点击保存把手动填入的数据保存到数据库?

点击增加一行新的数据  我手动添加数据   在后台怎么获取我新加这一行的每一列数据  然后放到数据库语句中  添加到数据库

  • 写回答

1条回答 默认 最新

  • ღ᭄陽先生꧔ꦿ᭄ 2024-02-16 09:12
    关注

    创建DataGridView控件:在Form上添加一个DataGridView控件,用于显示和编辑数据。
    添加数据绑定:使用 BindingSource 将DataGridView控件绑定到你的数据模型上,然后将 BindingSource 绑定到数据库表。
    添加按钮控件:在Form上添加一个按钮,用于触发数据保存操作。
    编写事件处理程序:为按钮添加点击事件处理程序,在这个事件中编写将DataGridView中的数据保存到数据库的代码。
    执行数据更新:在事件处理程序中,使用ADO.NET或其他数据库访问技术,编写代码将DataGridView中的更改应用到数据库。

    using System;
    using System.Data;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            // 初始化DataGridView和数据绑定
            // ...
        }
    
        private void saveButton_Click(object sender, EventArgs e)
        {
            // 连接到数据库
            using (SqlConnection connection = new SqlConnection("你的数据库连接字符串"))
            {
                connection.Open();
    
                // 开始事务
                using (SqlTransaction transaction = connection.BeginTransaction())
                {
                    try
                    {
                        // 遍历DataGridView中的每一行
                        foreach (DataGridViewRow row in dataGridView1.Rows)
                        {
                            if (!row.IsNewRow)
                            {
                                // 获取每行的数据
                                int id = Convert.ToInt32(row.Cells["ID"].Value);
                                string name = row.Cells["Name"].Value.ToString();
    
                                // 构造更新SQL语句
                                string sql = "UPDATE YourTable SET Name = @Name WHERE ID = @ID";
    
                                // 使用SqlCommand执行更新
                                using (SqlCommand command = new SqlCommand(sql, connection, transaction))
                                {
                                    command.Parameters.AddWithValue("@Name", name);
                                    command.Parameters.AddWithValue("@ID", id);
                                    command.ExecuteNonQuery();
                                }
                            }
                        }
    
                        // 提交事务
                        transaction.Commit();
                        MessageBox.Show("数据保存成功!");
                    }
                    catch
                    {
                        // 如果发生错误,回滚事务
                        transaction.Rollback();
                        MessageBox.Show("数据保存失败!");
                    }
                }
            }
        }
    }
    
    
    
    
    
    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大