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 ...
随机推荐
- LDA-math-认识Beta/Dirichlet分布
http://cos.name/2013/01/lda-math-beta-dirichlet/#more-6953 2. 认识Beta/Dirichlet分布2.1 魔鬼的游戏—认识Beta 分布 ...
- 《zw版·Halcon-delphi系列原创教程》航母舰载机·视觉定位标志的识别代码
<zw版·Halcon-delphi系列原创教程>航母舰载机·视觉定位标志的识别代码 航母舰载机机身上的黄黑圆圈的标志是什么意思,辐射?核动力?战术核弹? <百度百科>介绍如下 ...
- 收缩TempDB的办法(转载)
有时候在数据库上运行一个数据量很大的查询语句,会导致TempDB数据量剧增,具体查看下面链接文章: SqlServer 一个查询语句导致tempdb增大55G 找到TempDB剧增的问题后,接下来的问 ...
- apache部署django记录
在ubuntu下通过apache部署django 首先需要下载python,django,apache以及wsgi模块 python基本已经自带,我用的是2.7,不是的话可以重新装一个 下载djang ...
- 161101、在Java中如何高效判断数组中是否包含某个元素
如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作.同时,这个问题在Stack Overflow中也是一个非常热门的问题.在投票比较高的几个答案中给出了几种 ...
- linux下的module_param()解释【转】
转自:http://blog.csdn.net/wavemcu/article/details/7762133 版权声明:本文为博主原创文章,未经博主允许不得转载. ***************** ...
- Hive与数据库的异同
一.Hive简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行.其优点是学习 ...
- MVP+RXJAVA+RecyclerView实现sd卡根目录下的所有文件中的照片加载并显示
初学Rxjava,目前只能遍历加载指定目录下的所有文件夹中的照片,文件夹中如果还嵌套有文件夹目前还没找到实现方法. 先看mvp目录结构: 很抱歉,没有model. 接下来是view层的接口代码和pre ...
- Oracle中左右外连接详解
数据表的连接有: 1.内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 2.外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两 ...
- MAVEN安装过程
maven 的压缩包地址: http://pan.baidu.com/s/1kT4ckGf 第三方资源jar包地址: http://pan.baidu.com/s/1i3vtgED

