码迷,mamicode.com
首页 > 其他好文 > 详细

DataTable 增加、修改、删除

时间:2020-04-16 13:14:22      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:class   inf   sqlhelper   数据库   box   name   otn   version   span   

using System;
using System.Data;
using System.Windows.Forms;
using DotNet.Utilities;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        DataTableCollection dt = null;
        //查询原始内容
        private void button1_Click(object sender, EventArgs e)
        {
            string sql = @"SELECT r.RegionID, RTRIM(r.RegionDescription)RegionDescription FROM Region AS r";
            dt = SqlHelper.GetTableText(sql, null);
            dataGridView1.DataSource = dt[0];
        }

        //增加内容
        private void button2_Click(object sender, EventArgs e)
        {
            DataRow dr = dt[0].NewRow();
            dr["RegionID"] = textBox2.Text;
            dr["RegionDescription"] = textBox3.Text;
            dt[0].Rows.Add(dr);
        }

        //修改内容
        private void button3_Click(object sender, EventArgs e)
        {
            DataRow dr = dt[0].Rows[dataGridView1.CurrentRow.Index];
            dr.BeginEdit();
            dr["RegionID"] = textBox2.Text;
            dr["RegionDescription"] = textBox3.Text;
            dr.EndEdit();

        }

        //删除内容
        private void button4_Click(object sender, EventArgs e)
        {
            dt[0].Rows[dataGridView1.CurrentRow.Index].Delete();
        }

        //保存内容,根据DataTable生成Sql语句
        private void button5_Click(object sender, EventArgs e)
        {
            textBox4.Clear();
            DataTable dtSave = dt[0].GetChanges();
            if (dtSave != null)
            {
                foreach (DataRow item in dtSave.Rows)
                {
                    if (item.RowState == DataRowState.Added)
                    {
                        string str = @"
                                INSERT INTO Region
                                (
                                    RegionID,
                                    RegionDescription
                                )
                                VALUES
                                (
                                    " + item.ItemArray[0] + @",
                                    ‘" + item.ItemArray[1] + @"‘
                                )
                                ";
                        textBox4.Text += str + "\r\n";
                        textBox4.Text += "----------------------------------------------------------------------------------------" + "\r\n";
                    }
                    else if (item.RowState == DataRowState.Modified)
                    {
                        string str = @"
                                UPDATE Region
                                SET
                                    RegionDescription = ‘" + item.ItemArray[1] + @"‘
                                WHERE RegionID=" + item.ItemArray[0];
                        textBox4.Text += str + "\r\n";
                        textBox4.Text += "----------------------------------------------------------------------------------------" + "\r\n";
                    }
                    else if (item.RowState == DataRowState.Deleted)
                    {
                        string str = @"
                                DELETE FROM Region
                                WHERE RegionID=" + item[0, DataRowVersion.Original];
                        textBox4.Text += str + "\r\n";
                        textBox4.Text += "----------------------------------------------------------------------------------------" + "\r\n";
                    }
                }
                //这里增加事务执行SQL语句到数据库
                //dt[0].AcceptChanges();//保存后清除行状态
            }
        }

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            DataRow dr = dt[0].Rows[dataGridView1.CurrentRow.Index];
            textBox2.Text = dr["RegionID"].ToString();
            textBox3.Text = dr["RegionDescription"].ToString();
        }
    }
}

只展示DataTable操作效果,没做实际操作数据库

技术图片

数据库操作类使用https://gitee.com/kuiyu/dotnetcodes开源项目中的SqlHelper

DataTable 增加、修改、删除

标签:class   inf   sqlhelper   数据库   box   name   otn   version   span   

原文地址:https://www.cnblogs.com/win32pro/p/12712032.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!