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

 /// <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. 【BZOJ3238】差异(后缀数组,单调栈)

    题意: 思路:显然len(t[i])+len(t[j])这部分的和是一定的 那么问题就在于如何快速求出两两之间lcp之和 考虑将它们排名后用SA可以很方便的求出lcp,且对答案没有影响,因为形式都是数 ...

  2. 洛谷—— P1122 最大子树和

    https://www.luogu.org/problem/show?pid=1122 题目描述 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题.一天他早晨骑车去上课 ...

  3. 表单中的日期 字符串和Javabean中的日期类型的属性自动转换

    搞了一上午的bug最终还是因为自己springMVC的注解不熟悉的原因,特记录. 在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支 ...

  4. Android: 长按及松开处理

    长按及松开处理 // 长按触发handle final Handler handler = new Handler(); final Runnable mLongPressed = new Runna ...

  5. ubuntu update时发生错误

    The following packages have been kept back解决方案Ubuntu和Debian下更新软件包,在运行 sudo apt-get upgrade 有时会看到如下提示 ...

  6. Spring Web Flow 入门demo(二)与业务结合 附源代码

    第一部分demo仅仅介绍了简单的页面跳转,接下来我们要实现与业务逻辑相关的功能. 业务的逻辑涉及到数据的获取.传递.保存.相关的业务功能函数的调用等内容,这些功能的实现都可用Java 代码来完毕,但定 ...

  7. ftk学习记(输入框篇)

    [ 声明:版权全部.欢迎转载.请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 昨天讲了进度条,我们还是看看它的运行效果是怎么样的.截图例如以下, 进度条使用的情况还是比較多的 ...

  8. Java进程堆外内存(off heap)大小

    一.使用ByteBuffer.allocateDirect分配的off heap内存大小 本机进程 在Jvisualvm中安装 Mbeans插件.然后查看java.nio/BufferPool/dir ...

  9. EF中System.Data.Entity.Internal.AppConfig的类型初始值设定项引发异常

    使用Entity的时候遇到的一个错 问题出在项目的App.config中 解决: 1.configSections要写在最顶端 2. 当中的incariantName会变成incariantNodeN ...

  10. hdu 1799 (循环多少次?)(排列组合公式)

    循环多少次? Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...