首页 > 数据库 >.net 直接在DataGridView控件中修改单元格数据,并保存到数据库

.net 直接在DataGridView控件中修改单元格数据,并保存到数据库

时间:2024-05-23 11:10:43浏览次数:26  
标签:控件 cmd 单元格 System DataGridView new using public AppraisalBases

1.获取datagridview单元格修改的内容

//单元格的值发生改变时触发事件
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
    //获取当前行绑定的内容
    AppraisalBases item = (AppraisalBases)dataGridView1.Rows[e.RowIndex].DataBoundItem;
    //MessageBox.Show(item.BaseType); //获取到修改的值
    AppraisalBases.Update(item);
}

2. 定义 AppraisalBases.cs 内容

namespace Appraisal_System.Models
{
    public class AppraisalBases
    {
        public int Id { get; set; }
        public string BaseType { get; set; }
        public int AppraisalBase { get; set; }
        public bool IsDel { get; set; }

        
        public static int Update(AppraisalBases rows)
        {
            string sql = "update AppraisalBases set BaseType=@BaseType,AppraisalBase=@AppraisalBase,IsDel=@IsDel where Id=@Id";
            SqlParameter[] pars =
            {
                new SqlParameter("@BaseType", rows.BaseType),
                new SqlParameter("@AppraisalBase", rows.AppraisalBase),
                new SqlParameter("@IsDel",rows.IsDel),
                new SqlParameter("@Id",rows.Id),
            };
            int count = SqlHelper.ExecuteNoQuery(sql, pars);
            return count;
        }
        
    }
}

3. SqlHelper.cs 定义

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Appraisal_System.Utility
{
    public static class SqlHelper
    {
        public static string connStr { get; set; }
        
        public static DataTable ExecuteTable(string sql)
        {
            using (SqlConnection conn = new SqlConnection(connStr))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                adapter.Fill(ds);
                return ds.Tables[0]; 
            }
        }

        public static int ExecuteNoQuery(string sql, params SqlParameter[] pars)
        {
            using (SqlConnection conn = new SqlConnection(connStr))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.Clear();
                cmd.Parameters.AddRange(pars);
                int count = cmd.ExecuteNonQuery();
                if(count <= 0)
                {
                    throw new Exception("数据库操作失败");
                }
                return count;
            }
        }
    }
}

 

标签:控件,cmd,单元格,System,DataGridView,new,using,public,AppraisalBases
From: https://www.cnblogs.com/tlfe/p/18207898

相关文章

  • 推荐一个WPF仪表盘开源控件
    前段时间,做服务器端监控系统,为了界面好看,采用WPF。硬件相关监控,比如CPU、内存等,想用仪表盘控件。网上找了很多这种控件,基本上都是第三方商业控件(虽然很漂亮,不过得money...)。最后在CodeProject上找到了一款还不错的开源的仪表盘控件CircularGauge。用了下该控件,感觉还不错......
  • DataGridView 控件入门
    常用属性和方法ContextMenuStrip属性:当用户点击鼠标右键时(设置和contextMenuStrip挂钩)MultiSelect属性是否可以多行选择SelectionMode属性:设置选中方式,比如是否选中一整行(设置为FullRowSelect)Dock属性:设置显示位置AllowUserToAddRows属性:取......
  • DataGridView treeview控件入门
    隐藏treeview相关联的线连接ShowLines设置为false设置行高:itemHeight设置在窗体的位置:Dock设置是否随窗体大小改变而改变:Anchor设置被选中后,是否占满整行:FullRowSelect被点击后的事件:AfterSelectprivatevoidtreeView_AfterSelec......
  • duilib 自定义控件
    1.主窗口自定义FramWnd继承WindowImplBase,重写CreateControl,HandleMessage.组合CPaintManagerUI.2.自定义控件自定义mycontrol继承CControlUI重写DoEvent,DoPaint,SetPos.main.cpp#include"FramWnd.h"intAPIENTRYWinMain(HINSTANCEhInstance,HINSTANCE/*hPrev......
  • Serilog日志输出到WPF UI控件
    使用到日志接收器的接口 ILogEventSinkWPF+Prsim+Serilog详细介绍链接 https://github.com/serilog/serilog/wiki/Developing-a-sink   publicinterfaceILogEventSinkWrite:ILogEventSink{LogEventGetLogMessage();}publicclassLogEventSink:I......
  • 自定义分页控件
    自定义分页控件tip:该控件的样式用的是materialDesign库,需要下载Nuget包CodeXaml<UserControlx:Class="TestTool.CustomControls.PagingControl"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.mic......
  • 自定义可移动点二维坐标轴控件
    自定义可移动点二维坐标轴控件目录路由参数坐标轴控件定义Demo路由参数X_YResultCollection为当前X轴对应Y轴值存储字典publicclassResultCollectionChangedEventArgs(RoutedEventroutedEvent,objectsource,IDictionary<double,double>resultCollection):Route......
  • GridLayout 等控件来完成多行按钮操作
     第一步,在布局文件中添加一个GridLayout控件,设置它的行列数和间距等属性,例如:<GridLayoutandroid:id="@+id/grid_layout"android:layout_width="match_parent"android:layout_height="wrap_content"android:columnCount="4"andr......
  • 创建事务批量删除DataGridView数据(含关联表中的数据)
    新建一个CommandInfo.cs类usingSystem;usingSystem.Collections.Generic;usingSystem.Data.Common;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceWinStuSystem{publicclassCommandInfo{publicstringCommand......
  • C#在DataGridView表格中操作Access数据库
    C#在DataGridView表格中直接添加修改删除数据 效果图 Form1.cs完整代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Dat......