C#------CURD(2)

using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace CURD
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void LoadData()
        {
            DataTable tab = MySqlHelper.ExecuteQuery("select id,name,age,if(gender,‘男‘,‘女‘) gender from t_persons");
            gridePersons.DataSource = tab;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //禁止自动生成列
            gridePersons.AutoGenerateColumns = false;

            //查询数据
            LoadData();
        }

        private void gridePersons_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            DataTable tab = (DataTable)gridePersons.DataSource;
            //得到选中的行数
            DataRow row = tab.Rows[e.RowIndex];
            //得到当前选中行的ID号
            int id = (int)row["id"];

            //点击的是哪一列
            if (e.ColumnIndex == 0)//编辑
            {
                PersonEdit form = new PersonEdit();
                form.Action = "Edit";
                form.EditingId = id;
                form.ShowDialog();
                LoadData();
            }
            else if (e.ColumnIndex == 1)//删除
            {

                //提示用户是否要删除
                if (MessageBox.Show("你真的要删除吗?", "提示",
                    MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
                {
                    return;
                }

                //根据ID删除
                MySqlHelper.ExecuteNonQuery("DELETE FROM t_persons WHERE id = @id",
                    new MySqlParameter { ParameterName = "@id", Value = id });

                //刷新数据
                LoadData();
            }
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            //新增
            PersonEdit form = new PersonEdit();
            form.Action = "AddNew";
            form.ShowDialog();
            LoadData();//新增完成,刷新界面
        }
    }
}
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace CURD
{
    public partial class PersonEdit : Form
    {

        //新增数据传递 Action="AddNew"
        public string Action { get; set; }
        //编辑数据传递 Action = "Edit" EditingId=5
        public int EditingId { get; set; }

        public PersonEdit()
        {
            InitializeComponent();
        }

        private void personEdit_Load(object sender, EventArgs e)
        {
            if (Action == "Edit")//如果是编辑,则先加载旧的数据
            {
                DataTable table = MySqlHelper.ExecuteQuery("select * from t_persons where [email protected]",
                     new MySqlParameter { ParameterName = "@id", Value = EditingId });

                if (table.Rows.Count <= 0)
                {
                    MessageBox.Show("找不到ID为" + EditingId + "的数据");
                    return;
                }
                //取得查询出来的数据
                DataRow row = table.Rows[0];
                txtName.Text = (string)row["name"];
                txtAge.Text = (string)row["age"];
                ulong gender = (ulong)row["gender"];
                //判断是男还是女,男为第一列0 女为第二列1
                txtGender.SelectedIndex = (gender == 1 ? 0 : 1);
            }
        }

        //保存按钮
        private void tijiao_Click(object sender, EventArgs e)
        {
            if (Action == "AddNew")//新增
            {
                string name = txtName.Text;
                int age = Convert.ToInt32( txtAge.Text);
                bool gender = (txtGender.SelectedIndex == 0);//选中第一行
                MySqlHelper.ExecuteNonQuery("insert into t_persons(name,age,gender) values(@name,@age,@gender)",
                    new MySqlParameter { ParameterName="@name",Value=name},
                    new MySqlParameter { ParameterName = "@age", Value = age },
                    new MySqlParameter { ParameterName = "@gender", Value = gender });

                Close();//关闭对话框
            }
            else if (Action == "Edit")//修改
            {
                string name = txtName.Text;
                int age = Convert.ToInt32(txtAge.Text);
                bool gender = (txtGender.SelectedIndex == 0);//选中第一行
                MySqlHelper.ExecuteNonQuery("update t_persons set [email protected],[email protected],[email protected] where [email protected]",
                new MySqlParameter { ParameterName = "@name", Value = name },
                new MySqlParameter { ParameterName = "@age", Value = age },
                new MySqlParameter { ParameterName = "@gender", Value = gender },
                new MySqlParameter { ParameterName = "@id", Value = EditingId });

                Close();
            }
            else
            {
                throw new Exception("Action错误");
            }
        }
    }
}
时间: 2024-07-30 13:37:17

C#------CURD(2)的相关文章

C#------CURD

namespace CURD { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void toolStripButton1_Click(object sender, EventArgs e) { //新增 PersonEdit form = new PersonEdit(); form.Action = "AddNew"; form.ShowDialog();

ABP 初探 之基于EasyUI的CURD

ABP 初探 之基于EasyUI的CURD 结束了天天加班的项目,项目虽然结束,但还是有点小问题,只能在后期优化当中完成了,本次做项目采用了,MVC.Webapi.Entityframework,在园了里看到了有关ABP的介绍,同样ABP也是最新技术集合,就加入了 ABP架构设计交流群 134710707,一起探讨.学习与进步. ABP的技术文档全是英文资料,不过现在不用担心了,群里的热心朋友已翻译成能看的懂语言了,详情 ABP 源代码地址 https://github.com/aspnetbo

windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) 简单说几句 在mongodb中3元素:db(数据库).collection(集合).document(文档) 其中collection类似于数据库中的表,document类似于行,这样一来我们就将内容对比起来记忆学习了. 数据格式 MongoDB documents是BSON格式(一种类json的一种二进制形式的存

概念大集合:单一入口、MVC、ORM、CURD、ActiveRecord...

MVC MVC是一个设计模式,它强制性的使应用程序的输入.处理和输出分开.使用MVC应用程序被分成三个核心部件:模型(M).视图(V).控制器(C),它们各自处理自己的任务. 视图 :视图是用户看到并与之交互的界面.对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.如何处理应用程序的界面

ThinkPHP的CURD操作

CURD:create(创建).update(更新).read(读取).delete(删除) 1.数据对象创建(create):  a.TP提供了create方法迅速的创建数据对象,可一自动的根据表单数据创建对象,支持数组,对象,甚至可以把一个数据对象创建给一个新的数据对象,如:    $User=M('User');    $User->name='ThinkPHP';    $User->email='[email protected]';    $Member=M('Member'); 

★★JSP+Struts+Mysql构建的MVC三层框架对一张数据表的CURD

项目实现流程 大体流程:搭建环境 à 开发后台 à 开发前台 建立工程(struts2CURD),拷贝jar包,建立struts.xml文件,搭建环境 建立数据库和数据源配置:dbcpconfig.properties 建立db.sql:里面全是数据库操作的一些语句 建立操作数据库的工具:*.util:DBCPUtil.java,用于加载数据源.getDataSource(); *.Domain:User.java 继承ActionSupport,实现Serializable接口. ????写好

Node.js学习笔记(3) - 简单的curd

这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简单介绍 这次demo,只涉及到简单的curd操作,用到的数据库是mongo,所以要安装mongo数据库,数据库连接驱动是mongoose: 当然关于mongo的驱动有很多,比如mongous mongoskin等:(详见http://cnodejs.org/topic/4f4ca8e0940ce2e

MySQL DML操作--------CURD最佳实战

1. 背景 * CURD 操作通常是使用关系型数据库系统中的结构化查询语言(Structured Query Language,SQL)完成的 * CURD 定义了用于处理数据的基本原子操作 * CURD 代表创建(Create).更新(Update).读取(Retrieve)和删除(Delete)操作. 2. 创建表操作 * 创建数据库(DB)  mytest CHARACTER SET: 设置字符集 mysql> CREATE DATABASE mytest CHARACTER SET ut

php对xml文件进行CURD操作

XML是一种数据存储.交换.表达的标准: - 存储:优势在于半结构化,可以自定义schema,相比关系型二维表,不用遵循第一范式(可以有嵌套关系): - 交换:可以通过schema实现异构数据集成: - 表达:本身就可以作为阅读文档,当然还可以使用XSLT之类的进行解析和再显示. 缺点是schema验证复杂,相比后来的json等格式,相对冗余. 下面的是利用php对xml文件进行CURD操作: xml文件的格式为: 1 <?xml version="1.0" encoding=&