一、插入登录框中用户输入的动态数据

 /// <summary>
/// 添加数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnConnectDB_Click(object sender, EventArgs e)
{
//得到文本框的值
string classname = this.textClassName.Text;
string byname = this.textByName.Text;
//连接数据库
string connectString = "server=.;database=StudentMISDB;uid=sa;pwd=123456";
//创建数据库命令
SqlConnection conn = new SqlConnection(connectString);
//打开数据库
conn.Open();
//插入数据
string sql = string.Format("insert into Course values('{0}','{1}')",classname,byname);
//进行连接
SqlCommand cmd = new SqlCommand(sql,conn);
int count = cmd.ExecuteNonQuery();
conn.Close();
if(count>){
MessageBox.Show("插入成功");
}
else
{
MessageBox.Show("插入失败");
}
//conn.Close();
}

二、修改数据库中的数据

  /// <summary>
/// 修改数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnUpDateDB_Click(object sender, EventArgs e)
{
//获取输入框文本值
string className = this.textClassName.Text;
string byName = this.textByName.Text;
//创建数据库连接字符
string connectstring = "server=.;database=StudentMISDB;uid=sa;pwd=123456";
//创建数据库连接对象
SqlConnection con = new SqlConnection(connectstring);
//打开数据库
con.Open();
//创建数据库要执行的代码
string sql = string.Format("update Course set Name='{0}',ByName='{1}' where CourseId=2",className,byName);
//创建数据库命令的对象
SqlCommand cmd=new SqlCommand(sql,con);
int count = cmd.ExecuteNonQuery();//返回影响的行数
//关闭数据库
con.Close();
//MessageBox.Show("好了");
if (count > )
{
MessageBox.Show("修改成功");
}
else
{
MessageBox.Show("修改失败");
}
}

三、连接式查询数据库数据,并在listbox中展示出来

  private void btnChaXun_Click(object sender, EventArgs e)
{
//创建数据库链接字符串
string connstring = "server=.;database=StudentMISDB;uid=sa;pwd=123456";
//链接数据库
SqlConnection conn = new SqlConnection(connstring);
conn.Open();
//数据库要执行的语句
string sql = "select * from Course where CourseID>3";
//要执行的命令
SqlCommand cmd = new SqlCommand(sql,conn);
//读取数据
SqlDataReader reader = cmd.ExecuteReader(); //读取数据
//循环读取
while (reader.Read()) //表示前进到下一行记录,返回值为布尔类型,如果下一条有数据,返回true,没有数据,就返回false
{
//将读取到的数据添加到listbox中显示
this.listBoxChaxun.Items.Add(reader[].ToString()+"\t"+reader[].ToString() + "\t" + reader[].ToString()); //分别读取第一列、第二列、第三列
}
//关闭读取
reader.Close();
//关闭数据库
conn.Close();
}

四、断开式查询数据

        private void btnDKcheck_Click(object sender, EventArgs e)
{
string connString = "server=.;database=StudentMISDB;uid=sa;pwd=123456"; //创建数据库连接字符串
SqlConnection conn = new SqlConnection(connString); //创建连接对象
string sql = "select * from Course"; //数据库要执行的操作
//创建断开式连接对象
SqlDataAdapter adapter = new SqlDataAdapter(sql,conn);
//创建数据集对象
DataSet ds = new DataSet();
//填充数据集
adapter.Fill(ds);
foreach (DataRow item in ds.Tables[].Rows) //遍历输出值
{
listBoxChaxun.Items.Add(item[].ToString()+"\t"+item[].ToString()+"\t"+item[].ToString());
}
}

五、链接式查询和断开式查询方法的区别和总结

连接查询:

1.一直访问数据库,直到数据被读取完成才会终止;

2.执行效率非常高,从上到下依次读取,但是在之前读取过的数据,不能重新读取。

断开式查询:

1.通过SqlDataAdapter 把数据库中的数据,映射到 DataSet 中,但是对内存开支太大,执行效率也比较低;

2.比较灵活,可以根据不同的条件,对DataSet中的数据进行再次筛选;

3.对数据库中连接池中的资源的释放比较及时;

4.当 需要查询海量的数据时,必须要经过优化。【优化的方法:分页、存储过程分页】

C# ADO.NET动态数据的增删改查(第五天)的更多相关文章

  1. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  2. Mybatis框架基于注解的方式,实对数据现增删改查

    编写Mybatis代码,与spring不一样,不需要导入插件,只需导入架包即可: 在lib下 导入mybatis架包:mybatis-3.1.1.jarmysql驱动架包:mysql-connecto ...

  3. dbutils中实现数据的增删改查的方法,反射常用的方法,绝对路径的写法(杂记)

    jsp的三个指令为:page,include,taglib... 建立一个jsp文件,建立起绝对路径,使用时,其他jsp文件导入即可 导入方法:<%@ include file="/c ...

  4. MVC模式:实现数据库中数据的增删改查功能

    *.数据库连接池c3p0,连接mysql数据库: *.Jquery使用,删除时跳出框,确定是否要删除: *.使用EL和JSTL,简化在jsp页面中插入的java语言 1.连接数据库 (1)导入连接数据 ...

  5. Hibernate3回顾-5-简单介绍Hibernate session对数据的增删改查

    5. Hibernate对数据的增删改查 5.1Hibernate加载数据 两种:get().load() 一. Session.get(Class arg0, Serializable arg1)方 ...

  6. Mybatis学习总结(二)—使用接口实现数据的增删改查

    在这一篇中,让我们使用接口来实现一个用户数据的增删改查. 完成后的项目结构如下图所示: 在这里,person代表了一个用户的实体类.在该类中,描述了相关的信息,包括id.name.age.id_num ...

  7. 数据的增删改查(三层)<!--待补充-->

    进行数据操作必然少了对数据的增删改查,用代码生成器生成的代码不是那么满意!方便在今后使用,这里就主要写“数据访问层(Dal)” 既然这里提到三层架构:有必要将三层内容在这里详细介绍一下(待补充) 注: ...

  8. vue实现对表格数据的增删改查

    在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...

  9. Node.js + MySQL 实现数据的增删改查

    通过完成一个 todo 应用展示 Node.js + MySQL 增删改查的功能.这里后台使用 Koa 及其相应的一些中间件作为 server 提供服务. 初始化项目 $ mkdir node-cru ...

随机推荐

  1. CodeForces 370C

    这道题其实是挺简单的.首先很容易发现最多人用的颜色的人数如果大于n/2,就肯定不能让全部人都成功戴上两只不同颜色的手套.反过来想,如果这个人数小于等于n/2又如何呢?的确,这就能让全部人都能戴上两只不 ...

  2. CentOS redis安装配置

    编译依赖安装 yum install gcc-c++ yum install -y tcl 安装步骤 下载:wget http://download.redis.io/releases/redis-5 ...

  3. 项目中应用到的框架和技术之三——echarts

    echarts是效果丰富的图表库,当时考虑怎么炫怎么来就引入了这个库来做图表展示,官网:http://echarts.baidu.com 项目里用的比较浅,估且一看吧 代码: this.toChart ...

  4. HDU 1241 Oil Deposits (DFS)

    题目链接:Oil Deposits 解析:问有多少个"@"块.当中每一个块内的各个"@"至少通过八个方向之中的一个相邻. 直接从"@"的地方 ...

  5. Unity学习笔记(4) --- Unity的界面排版:初识GUI

    GUI和GUILayout是Unity提供的UIKit.在使用GUI的Controls时都要求设置Rect參数.没办法做到自己主动排版,给适配带来难度.而GUILayout的设计就是为了弥补这个缺陷, ...

  6. Powershell远程在Azure A7虚拟机执行Java JVM失败

    近期.使用Powershell脚本在A7 (8核,56G内存)配置的 Azure VM(Virtual Machine.虚拟机)上远程运行Java JVM时 (java.exe -version).总 ...

  7. error: &#39;for&#39; loop initial declarations are only allowed in C99 mode

    error: 'for' loop initial declarations are only allowed in C99 mode 使用gcc编译代码是报出 error: 'for' loop i ...

  8. 处理new分配内存失败情况

    转自:http://www.51testing.com/html/70/n-827070.html 在C++语言中,我们经常会使用new给一个对象分配内存空间,而当内存不够会出现内存不足的情况.C++ ...

  9. jQuery 自定义动画效果

    <!DOCTYPE html> <html> <head> <script src="/jquery/jquery-1.11.1.min.js&qu ...

  10. Mybatis 代码自动生成(generatorConfig.xml配置)

    博客推荐: Mybatis最入门---代码自动生成(generatorConfig.xml配置) MyBatis Generator generatorConfig.xml配置详解 pom.xml&l ...