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

  上篇我记录了自己的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. 系统的讲解 - SSO单点登录

    目录 概念 好处 技术实现 小结 扩展 概念 SSO 英文全称 Single Sign On,单点登录. 在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统. 比如:淘宝网(www.t ...

  2. python接口自动化(十三)--cookie绕过验证码登录(详解)

    简介 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接).获取不到也没关系,可以通过添加cookie的方式绕过验证码.(注意:并不是所有的 ...

  3. 【TCP协议】(3)---TCP粘包黏包

    [TCP协议](3)---TCP粘包黏包 有关TCP协议之前写过两篇博客: 1.[TCP协议](1)---TCP协议详解 2.[TCP协议](2)---TCP三次握手和四次挥手 一.TCP粘包.拆包图 ...

  4. Java开发必须掌握的线上问题排查命令

    作为一个合格的开发人员,不仅要能写得一手还代码,还有一项很重要的技能就是排查问题.这里提到的排查问题不仅仅是在coding的过程中debug等,还包括的就是线上问题的排查.由于在生产环境中,一般没办法 ...

  5. css节点选择器

    基础选择器 基础选择器是选择器的所有选择器的基本组成元素,也最简单,包含如下5个类别: ID选择器 标签选择器 类选择器 属性选择器:类选择器算是一个特殊的属性选择器,通用的属性选择器举例如下: #c ...

  6. 视频当道的时代,这些珍藏的优质 Python 播客值得推荐

    我国互联网的发展道路与欧美不同,在内容的形式上,我们似乎实现了跨越式的发展——早早进入了移动互联网时代,直播和短视频等形式的内容成为了潮流,而文字形式的博客(blog)与声音形式的播客(podcast ...

  7. osi参考模型(开放系统互连参考模型)

    自互联网诞生以来,随着网络飞速发展,用户迫切要求能在不同体系结构的网络空间交换信息,使得不同的网络能够互联起来. 国际化标准组织(International Organization for Stan ...

  8. Nginx下载服务器配置文件

    server { listen 8080; server_name localhost; #charset koi8-r; charset utf-8; #access_log logs/host.a ...

  9. SQL Server查看索引重建、重组索引进度

    相信很多SQL Server DBA或开发人员在重建或重组大表索引时,都会相当郁闷,不知道索引重建的进度,这个对于DBA完全是一个黑盒子,对于系统负载非常大的系统或维护窗口较短的系统,你会遇到一些挑战 ...

  10. bug生命周期&bug跟踪处理

    一.BUG BUG:软件的缺陷 1.BUG的定义:----与软件测试的目的对应 软件的BUG,狭义概念是指软件程序的漏洞或缺陷,广义概念除此之外还包括测试工程师或用户所发现和提出的软件可改进的细节.或 ...