C# ADO.NET动态数据的增删改查(第五天)
一、插入登录框中用户输入的动态数据
/// <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动态数据的增删改查(第五天)的更多相关文章
- Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查
本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...
- Mybatis框架基于注解的方式,实对数据现增删改查
编写Mybatis代码,与spring不一样,不需要导入插件,只需导入架包即可: 在lib下 导入mybatis架包:mybatis-3.1.1.jarmysql驱动架包:mysql-connecto ...
- dbutils中实现数据的增删改查的方法,反射常用的方法,绝对路径的写法(杂记)
jsp的三个指令为:page,include,taglib... 建立一个jsp文件,建立起绝对路径,使用时,其他jsp文件导入即可 导入方法:<%@ include file="/c ...
- MVC模式:实现数据库中数据的增删改查功能
*.数据库连接池c3p0,连接mysql数据库: *.Jquery使用,删除时跳出框,确定是否要删除: *.使用EL和JSTL,简化在jsp页面中插入的java语言 1.连接数据库 (1)导入连接数据 ...
- Hibernate3回顾-5-简单介绍Hibernate session对数据的增删改查
5. Hibernate对数据的增删改查 5.1Hibernate加载数据 两种:get().load() 一. Session.get(Class arg0, Serializable arg1)方 ...
- Mybatis学习总结(二)—使用接口实现数据的增删改查
在这一篇中,让我们使用接口来实现一个用户数据的增删改查. 完成后的项目结构如下图所示: 在这里,person代表了一个用户的实体类.在该类中,描述了相关的信息,包括id.name.age.id_num ...
- 数据的增删改查(三层)<!--待补充-->
进行数据操作必然少了对数据的增删改查,用代码生成器生成的代码不是那么满意!方便在今后使用,这里就主要写“数据访问层(Dal)” 既然这里提到三层架构:有必要将三层内容在这里详细介绍一下(待补充) 注: ...
- vue实现对表格数据的增删改查
在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...
- Node.js + MySQL 实现数据的增删改查
通过完成一个 todo 应用展示 Node.js + MySQL 增删改查的功能.这里后台使用 Koa 及其相应的一些中间件作为 server 提供服务. 初始化项目 $ mkdir node-cru ...
随机推荐
- Linux下汇编语言学习笔记71 ---
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
- MyBatis3-代码生成工具的使用
以下内容引用自http://www.yihaomen.com/article/java/331.htm: MyBatis应用程序,需要大量的配置文件,对于一个成百上千的数据库表来说,完全手工配置,这是 ...
- QT如何修改字符编码格式
编辑-Select Encoding,然后在弹出窗口中修改字符编码.
- Google2015校招在线測试题1----扫雷最少点击次数
Problem Minesweeper is a computer game that became popular in the 1980s, and is still included in so ...
- 写给小白的JVM学习指南
Java 虚拟机是学习 Java 的基础,也是迈入高级 Java 开发工程师的必备知识点.所以今天这篇文章我们来聊聊如何从零开始学习 Java 虚拟机. 基础 对于刚刚接触 JVM 的同学来说,JVM ...
- Java - 对象(object) 具体解释
对象(object) 具体解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24059545 对象(object)的实例能够是 ...
- POJ 1741 Tree 树形DP(分治)
链接:id=1741">http://poj.org/problem?id=1741 题意:给出一棵树,节点数为N(N<=10000),给出N-1条边的两点和权值,给出数值k,问 ...
- Linux 下查找文件或文件夹
有些在我看来比较实用的命令,在这里记一下,避免每次都搜索一轮. 1.查找文件和文件夹 $ find . -name "mongo*" 从当前路径开始,向子目录查找名字含有 &quo ...
- E20170618-hm
sentinel n. 岗哨,哨兵; node n. 节点; (计算机网络的) 节点; [医] 结节; 植物的节; traverse n. 穿过; 横贯,横切; 横木; [建] 横梁; vt ...
- [Swift通天遁地]三、手势与图表-(12)创建复合图表:包含线性图表和柱形图表
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...