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增删改查的更多相关文章

  1. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  2. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  3. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查

    系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...

  4. 通过Java代码实现对数据库的数据进行操作:增删改查

    在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao  xingming    xue ...

  5. Hibernate全套增删改查+分页

    1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...

  6. 使用 Json.Net 对Json文本进行 增删改查

    JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...

  7. yii2 增删改查

    自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助 1.gii生成的actionCreate()方法中 获取插入语句的id $id = $model->attribu ...

  8. Batis-iBatis基本操作(增删改查)

    Batis-iBatis基本操作(增删改查) 时间 2014-04-10 17:55:20  CSDN博客 原文  http://blog.csdn.net/mazhaojuan/article/de ...

  9. JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)

    前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue ...

随机推荐

  1. YbRapidSolution.Mvc判断不同用户登录不同页面

    AccountController.cs using System; using System.Collections.Generic; using System.Linq; using System ...

  2. JSP-01-搭建Web应用环境

    一.搭建Web应用环境 Tomcat 下载会有两种版本,安装版和解压版,这里以解压版为例 Web服务: 是实现“基于Web无缝集成”的目标而提出的全新概念,希望通过Web服务能够实现不同的系统之间的相 ...

  3. 搞不定linux下的无线网卡驱动的权宜之计

    毕竟windows用了这么些年了,对windows下的一些东西也比较熟悉,还有就是windows的软件方式比较傻瓜. 在linux下搞不定无线网卡啊,幸亏有甲骨文的virtualbox,咱虚拟一个xp ...

  4. 开启xp_cmdshell

    --打开xp_cmdshell EXEC sp_configure 'show advanced options', 1GORECONFIGUREGOEXEC sp_configure 'xp_cmd ...

  5. OpenStack 多台计算节点时的问题

    Contents [hide] 1 前言 2 bug 3 解决方法 4 网络问题 前言 添加一台计算节点后无法创建虚拟机.在调度层就错误: bug https://review.openstack.o ...

  6. 第三方过滤器在TVideoGrabber中的使用

    在TVideoGrabber中可以使用第三方过滤器,并可插入到预览.录制或回放流中,添加到列表里. 要在一个图像中中应用一个过滤器,需要像下面的例子中一样调用 ThirdPartyFilter_Add ...

  7. mysql笔记03 查询性能优化

    查询性能优化 1. 为什么查询速度会慢? 1). 如果把查询看作是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间.如果要优化查询,实际上要优化其子任务,要么消除其中一些子任务,要么减 ...

  8. ch2-4:遇到嵌套列表进行缩进打印

    1.增加一个参数来控制缩进打印:level '''这是一个模块,可以打印列表,其中可能包含嵌套列表''' def print_list(the_list,level): ""&qu ...

  9. js获取IP地址方法总结_转

    js代码获取IP地址的方法,如何在js中取得客户端的IP地址.原文地址:js获取IP地址的三种方法 http://www.jbxue.com/article/11338.html 1,js取得IP地址 ...

  10. WordPress博客系统搜索引擎优化seo全攻略方法

    WordPress的文章.评论等很多数据都是存放在数据库的,所以搭建wordpress网站的时间,网站的空间不需要多大,而数据库一定要充足,而在WordPress数据库中主要使用 wp_posts 表 ...