winfrom增删改查
![]()
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent(); } private void button2_Click(object sender, EventArgs e)
{ }
string connstr = "server=DESKTOP-QQGOIKH;uid=sa;pwd=123;database=stuDB";
private void Form1_Load(object sender, EventArgs e)
{
//1、查询语句
string sql = "select * from student where 1=1";
//2、创建连接对象
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
//3、创建执行对象
SqlCommand cmd = new SqlCommand(sql, conn);
//4、创建适配器对象,Command对象不能一次处理多条数据
SqlDataAdapter sda = new SqlDataAdapter(cmd);
//5、创建数据集,用来接收数据表、可以装多张表的数据
DataSet ds = new DataSet();
//6、填充数据、将查询上的数据放到数据集中
sda.Fill(ds,"aa");
//7、关闭连接
conn.Close();
//DataSet中每一个元素是一个DataTable对象,与数据库中的Table相似
DataTable dt = ds.Tables["aa"];
dataGridView1.DataSource = dt;
} private void button1_Click(object sender, EventArgs e)
{
//新增
//1、取数据
string stuName = textBox1.Text;
string stuNo = textBox2.Text;
string sex = "女";
if (radioButton1.Checked)
{
sex = "男";
}
string remark = radioButton1.Text;
//2、准备数据
string sql = "insert into student values(@a,@b,@c,@d)";
SqlParameter[] pms = new SqlParameter[];
pms[] = new SqlParameter("@a", stuName);
pms[] = new SqlParameter("@b", stuNo);
pms[] = new SqlParameter("@c", sex);
pms[] = new SqlParameter("@d", remark);
//ADO.NET
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddRange(pms);
int i = cmd.ExecuteNonQuery();
conn.Close();
if (i>)
{
MessageBox.Show("新增成功");
}
else
{
MessageBox.Show("新增失败");
}
} private void button3_Click(object sender, EventArgs e)
{
//修改 } private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
//找到选中行的数据ID号,通过id把student表的数据删除
if (dataGridView1.SelectedRows.Count == )
{
MessageBox.Show("没有要删除的数据");
return;
}
DialogResult dr = MessageBox.Show("确定删除吗", "友情提示", MessageBoxButtons.YesNo);
if (dr == DialogResult.Yes)
{
//ID获取
string id = dataGridView1.SelectedRows[].Cells[].Value.ToString();
string sql = "delete from student where stuid=@a";
SqlParameter pm = new SqlParameter("@a",id);
//ADO.NET********删除操作
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add(pm);//删除
//ExecuteNonQuery方法可以在命令是insert\delete\update用
//执行sql命令返回受影响行数
int i = cmd.ExecuteNonQuery();
conn.Close();
if (i > )
{
MessageBox.Show("删除成功");
}
else
{
MessageBox.Show("删除失败");
} }
} private void 修改ToolStripMenuItem_Click(object sender, EventArgs e)
{
//编辑操作,把选中的行id找到,后去取数据库id对应学生数据
//把取到的内容放到控件中
if (dataGridView1.SelectedRows.Count==)
{
MessageBox.Show("没有选中项");
return;
}
string stuid = dataGridView1.SelectedRows[].Cells[].Value.ToString();
//取stuid对应的数据
string sql = "select * from student where stuID=@a";
SqlParameter pm = new SqlParameter("@a", stuid);
//*************ADO.NET操作*************
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand(sql,conn);
cmd.Parameters.Add(pm);
//执行
SqlDataReader sdr = cmd.ExecuteReader();
//读取 Read()方法,每读一次就取结果中的下一条记录
bool b = sdr.Read();
if (b==true)
{
//显示数据,读取到的数据从dataReader对象上拿
textBox1.Text = sdr["stuName"].ToString();
textBox2.Text = sdr["stuNo"].ToString();
textBox3.Text = sdr["stuID"].ToString();
string sex = sdr["sex"].ToString();
radioButton1.Checked = sex == "男";
radioButton2.Checked = sex == "女";
richTextBox1.Text = sdr["remark"].ToString();
}
conn.Close();
} private void button2_Click_1(object sender, EventArgs e)
{
//修改
//根据选中的学生编号修改
string sql = "update student set stuName=@a,stuNo=@b,sex=@c,remark=@d where stuID=@e";
SqlParameter pm = new SqlParameter("@e", textBox3.Text);
string stuName = textBox1.Text;
string stuNo = textBox2.Text;
string sex = "女";
if (radioButton1.Checked)
{
sex = "男";
}
string remark = radioButton1.Text;
string id = textBox3.Text;
//2、准备数据 SqlParameter[] pms = new SqlParameter[];
pms[] = new SqlParameter("@a", stuName);
pms[] = new SqlParameter("@b", stuNo);
pms[] = new SqlParameter("@c", sex);
pms[] = new SqlParameter("@d", remark);
pms[] = new SqlParameter("@e", id);
//ADO.NET
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddRange(pms);
int i = cmd.ExecuteNonQuery();
conn.Close();
if (i > )
{
MessageBox.Show("修改成功");
}
else
{
MessageBox.Show("修改失败");
} }
}
}
winfrom增删改查的更多相关文章
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查
系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...
- 通过Java代码实现对数据库的数据进行操作:增删改查
在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao xingming xue ...
- Hibernate全套增删改查+分页
1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...
- 使用 Json.Net 对Json文本进行 增删改查
JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...
- yii2 增删改查
自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助 1.gii生成的actionCreate()方法中 获取插入语句的id $id = $model->attribu ...
- Batis-iBatis基本操作(增删改查)
Batis-iBatis基本操作(增删改查) 时间 2014-04-10 17:55:20 CSDN博客 原文 http://blog.csdn.net/mazhaojuan/article/de ...
- JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)
前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue ...
随机推荐
- springmvc+spring+mybatis分页查询实例版本3,添加条件检索
在第二个版本上添加了姓名模糊查询,年龄区间查询;自以为easy,结果发现mybatis的各种参数写法基本搞混或是忘了,zuo啊,直接上代码,然后赶紧把mybatis整理一遍再研究自己的项目,应该还会有 ...
- Yii2.0 查询(CRUD)
yii2使用中的一些基本的增删改查操作.以用户为例说明: User::find()->all(); //返回所有用户数据: User::findOne($id); //返回 主键 ...
- 在线快速生成 CSS Sptite 的网站
Spritepad http://spritepad.wearekiss.com/ 这个好,虽然没用过,先收起来再说.
- android蓝牙技术
配置权限 <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permiss ...
- autohotkey --- win10运行不兼容
在win10下许多脚本运行有问题, 将AutoHotkey.exe设置为兼容模式为win7 同时要设置为以管理员身份运行此程序 这个必须得记录一下.
- 使用BusyBox制作根文件系统【转】
本文转载自:http://www.cnblogs.com/lidabo/p/5300180.html 1.BusyBox简介 BusyBox 是很多标准 Linux 工具的一个单个可执行实现.Busy ...
- mysql+keepalived主从切换脚本 转
Keepalived MySQL故障自动切换脚本 MySQL架构为master-slave(主从),master故障自动切换到slave上.当然也可以设置为双master,但这里有个弊端:就是当主 ...
- Linux设备模型(9)_device resource management ---devm申请空间【转】
转自:http://www.wowotech.net/linux_kenrel/device_resource_management.html . 前言 蜗蜗建议,每一个Linux驱动工程师,都能瞄一 ...
- Using Controls in a Form Design [AX 2012]
Using Controls in a Form Design [AX 2012] This topic has not yet been rated - Rate this topic Update ...
- JavaEE基础(十)
1.面向对象(package关键字的概述及作用) A:为什么要有包 将字节码(.class)进行分类存放 包其实就是文件夹 B:包的概述 举例: 学生:增加,删除,修改,查询 老师:增加,删除,修改, ...

