果然,在犯困的时候就该写写博客,写博客就不困了,哈哈!

  上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦。

  实例描述:在数据库新建一张TbClass表,将表的内容读取到一个DataGridView上,并且可以在winform面板上对表里的内容进行增、删、改的操作。首先给出winform的设计:

下面开始写步骤咯,哈哈:

第一步:搭建该winform框架:

按图所示分别对其属性进行一些修改,搭建完成后为:

第二步:编写代码:

1.数据表介绍

首先看看我的数据库长啥样的:

tClassId为主键自增,不能为空,tClassName为nvarchar,非空 ,tClassDesc为nVarchar,可以为空。

然后确定查询语句,为:select * from TbClass;

2.添加SqlHelper,编写数据加载方法

首先,创建LoadData()方法,然后在Form1_Load()方法中调用LoadData方法;

LoadData方法书写如下:

  public void LoadData()
{
//声明一个list集合
List<TbClass> list = new List<TbClass>();
//书写sql语句
string sql = "select * from TbClass";
//调SqlHelper实现查询
SqlDataReader reader = SqlHelper.ExecuteReader(sql);
if (reader.HasRows)
{
while (reader.Read())
{
//创建数据库对象tbClass
TbClass tbClass = new TbClass();
tbClass.tClassId = reader.GetInt32();
tbClass.tClassName = reader.GetString();
tbClass.tClassDesc = reader.IsDBNull() ? null : reader.GetString(); //数据表中该字段是允许为空的,故这里做出判断,为空则使该值为null,
list.Add(tbClass);
}
}
//将list数据绑定到dataGridView上
this.dataGridView1.DataSource = list;
}

  在使用SqlHelper之前,需要在App.config中添加配置代码和在项目中添加引用,这是需要注意的,因为在以前的博客中有详细讲解如何添加,这里不再讲了哈。

下面看一下读取数据后的结果:

3.完成添加班级的功能

添加功能主要是向数据库中插入一条记录,首先写出sql语句:

sql = “insert into TbClass (tClassName,tClassDesc) Values('高5班','文科班') ”;

因为这里需要使用传递参数的sql语句,所以上面的语句写为:

sql = "insert into TbClass (tClassName,tClassDesc) Values(@classname,@classdesc)"

然后我们在winform上双击 “添加"按钮,进入相关方法体边界方法:

看代码:

          private void button1_Click(object sender, EventArgs e)
{
//1.执行插入操作
bool row = InsertClass();
if (row)
{
//2.插入成功,重新加载数据
MessageBox.Show("添加了" + +"班级");
LoadData();
}
else
{
//插入失败
} } /// <summary>
/// 执行向数据库中插入添加的班级的操作
/// </summary>
/// <returns> 返回布尔类型结果,成功返回true,否则false</returns>
private Boolean InsertClass()
{
//1.获取输入值
string className = txtClassName.Text.Trim();
string classDesc = txtClassDesc.Text.Trim();
//2.sql语句
string sql = "insert into TbClass (tClassName,tClassDesc) values (@classname,@classdesc)";
//3.定义参数数组
SqlParameter[] parameters = new SqlParameter[] {
new SqlParameter("@classname",System.Data.SqlDbType.NVarChar,){Value = className },
new SqlParameter("@classdesc",System.Data.SqlDbType.NVarChar,){Value = classDesc }
};
//4.调用SqlHelper,返回结果
return SqlHelper.ExecuteNonQurey(sql,parameters) > ; }

然后看一下插入的结果:

 4.修改班级和删除班级

(1)实现选中某行,该行的信息出现在下面的编辑框中

要实现对某个行的操作,首先得选中某行,所以,首先要把dataGridView的属性里的SelectionMode改为FullRowSelect,如图:

然后,要在鼠标选中某一行时,获取该行的tClassId.接下来看看获取该id的做法:

在dataGridView的属性页中找到一个名为RowEnter的事件,双击进入方法,编写函数:

然后我们看代码:

  private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
{
//获取当前选中的行对象
DataGridViewRow currentRow = this.dataGridView1.Rows[e.RowIndex]; //获取选中行对象中的值,并将值存入TbClass中
TbClass model = currentRow.DataBoundItem as TbClass; if (model != null)
{
txtClassId.Text = model.tClassId.ToString();
txtEditClassName.Text = model.tClassName.ToString();
txtEditClassDesc.Text = model.tClassDesc.ToString();
} }

 (3)实现修改操作

在获取了某行的行内信息后那么对该行进行修改和删除就变得简单了,又是几个数据库的操作,下面我们双击保存修改,进入修改按钮方法体中书写代码:

代码如下:

   /// <summary>
/// 将修改后的内容存储到数据库,并重新加载数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
//获取修改后的数据
TbClass model = new TbClass();
int classId = Convert.ToInt32(txtClassId.Text);
string className = txtEditClassName.Text.Trim();
string classDesc = txtEditClassDesc.Text.Trim();
//确定和书写sql语句
string sql = "update TbClass set tClassName = @classname , tClassDesc = @classdesc where tClassId = @clsssid";
//定义参数数组并赋值
SqlParameter[] parameters = new SqlParameter[] {
new SqlParameter("@clsssid",System.Data.SqlDbType.Int){ Value = classId},
new SqlParameter("@classname",System.Data.SqlDbType.NVarChar,){Value = className },
new SqlParameter("@classdesc ",System.Data.SqlDbType.NVarChar,){Value = classDesc }
};
int row = SqlHelper.ExecuteNonQurey(sql,parameters);
if (row > )
{
MessageBox.Show("更新了" +row + "行");
LoadData();
}
else
{ } }

演示结果:

(4)删除操作

同样是操作数据库的语句,还是看代码吧,哈哈:

   private void button3_Click(object sender, EventArgs e)
{
//获取当前行的 tClassId
int classId = Convert.ToInt32(txtClassId.Text);
//sql语句
string sql = "delete from TbClass where tClassId = @classid";
//参数数组
SqlParameter[] parameters = new SqlParameter[] {
new SqlParameter("@classid",System.Data.SqlDbType.Int){ Value = classId}
};
//执行sql语句
int row = SqlHelper.ExecuteNonQurey(sql,parameters);
if (row > )
{
MessageBox.Show("删除了" + row + "记录");
LoadData();
} }

结果图:

好了,关于ado.net的一些基本操作就记录到这里哦,后面要去学mvc了,希望和其他菜鸟们一起进步。

我的QQ: 3074596466

ado.net的简单数据库操作(三)——简单增删改查的实际应用的更多相关文章

  1. sqlite数据库操作详细介绍 增删改查,游标

    sqlite数据库操作详细介绍 增删改查,游标     本文来源于www.ifyao.com禁止转载!www.ifyao.com Source code     package com.example ...

  2. Mysql数据库操作复习,增删改查

    Mysql数据库 Apache(服务员)    php(大厨)    mysql(冰柜) Mysql是瑞典的mysqlAB公司开发的一款中小型关系型数据库管理系统. MysqlAB公司在2008年被S ...

  3. iOS- Swift:使用FMDB进行数据库操作(线程安全:增删改查)

    1.前言 GitHub上2000多颗星的FMDB数据库框架想来大家都很熟悉, 今天用Swift对其进行了一个完成的数据存储读流程 写完之后用博客分享之,与大家一起交流, 希望对需要的朋友提供些帮助   ...

  4. 最简单的jsp+servlet的增删改查代码

    package ceet.ac.cn.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...

  5. python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查

    python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...

  6. 四种简单的sql语句(增删改查语句)

    四种简单的sql语句(增删改查语句) 一.插入语句 insert into [table] ([column],[column],[column]) values(?,?,?) 二.删除语句 dele ...

  7. MySQL数据库之表的增删改查

    目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...

  8. C#操作Excel数据增删改查(转)

    C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文件,并添加两张工作表. 工作表1: UserInfo表,字段:UserId.UserName.Age.Address.CreateT ...

  9. C#操作Excel数据增删改查示例

    Excel数据增删改查我们可以使用c#进行操作,首先创建ExcelDB.xlsx文件,并添加两张工作表,接下按照下面的操作步骤即可 C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文 ...

  10. SpringBoot操作MongoDB实现增删改查

    本篇博客主讲如何使用SpringBoot操作MongoDB. SpringBoot操作MongoDB实现增删改查 (1)pom.xml引入依赖 <dependency> <group ...

随机推荐

  1. vim永久显示行号

    先复制一份vim配置模板到个人目录下,如果目录不对的,自己找到这个文件 cp /usr/share/vim/vim74/vimrc_example.vim ~/.vimrc 注:redhat的路径为  ...

  2. window 7 安装Jmeter并配置https录制脚本

    安装与环境配置: http://blog.csdn.net/hhuangdanfeng/article/details/51564765 http://blog.csdn.net/u010573212 ...

  3. .NET Core 迁移躺坑记

    最近将自己负责的一个核心接口系统从.Net Framework迁移到了.Net Core. 整体过程,从业务层面说一般般吧(整体还好但还是搞的业务有感,没出严重故障)但是技术层面上感觉其实并没有达到要 ...

  4. 国际知名CSS Reset 总结

    NO.01   CSS Tools: Reset CSS 网站:https://meyerweb.com/eric/tools/css/reset/ 优点:老牌,用的人多. /* http://mey ...

  5. typecho设置文章密码保护

    在别人博客看到了一个需要输入密码才能访问文章的功能,像下图一样 typecho也是有这个功能,不需要插件就可以实现.在编辑文章时,右边高级选项,公开度里有个密码保护可以选择 效果图 不过这样的界面不是 ...

  6. 流程控制之for循环

    目录 语法(掌握) for+break for+continue for循环嵌套(掌握) for+else(掌握) for循环实现loading(了解) 语法(掌握) 为什么有了while循环,还需要 ...

  7. 【重学计算机】操作系统D1章:计算机操作系统概述

    1. 计算机软硬件系统 冯诺伊曼结构 以运算单元为核心,控制流由指令流产生 程序和数据存储在主存中 主存是按地址访问,线性编址 指令由操作码和地址码组成 数据以二进制编码 其他:参考<重学计算机 ...

  8. WinForm加载外部类库项目的集成开发模式

    在项目开发中有一定的团队用到了Nuget.Coding:但是这用起来还是不太方方便,在Winform中呢,我们可以把一个人的项目当作一个类库项目,因为它生成的是一个dll文件,也就是单一文件,拥有了它 ...

  9. WebApi管理和性能测试工具WebApiBenchmarks

    说到WebApi管理和测试工具其实已经非常多的了,Postman.Swagger等在管理和维护上都非常出色:在性能测试方面也有不少的工具如:wrk,bombardier,http_load和ab等等. ...

  10. idea配github

    下面步骤的三个前提条件:安装git 安装idea 注册github账号 步骤一.绑定我的github账号与我的计算机 绑定我的github账号与我的计算机之后,便能很方便地上传或者更新我的代码,这需要 ...