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 ...
随机推荐
- sharepoint第三方程序认证尝试失败记录
本来想用REST服务开发第三方的插件的,下面的文章说明REST API是非常好用的 https://technet.microsoft.com/zh-cn/library/jj164022(v=off ...
- docker Cannot start container [8] System error: exec format error
docker Cannot start container [8] System error: exec format error 学习了:https://www.aliyun.com/jiaoch ...
- Spring Web Flow 入门demo(二)与业务结合 附源代码
第一部分demo仅仅介绍了简单的页面跳转,接下来我们要实现与业务逻辑相关的功能. 业务的逻辑涉及到数据的获取.传递.保存.相关的业务功能函数的调用等内容,这些功能的实现都可用Java 代码来完毕,但定 ...
- lua的函数初识
学习到Lua的函数.认为有必要记下来. 參考教程:Programming in Lua 函数能够以表达式或陈述语句出现,例如以下所看到的: print(8*9, 9/8) a = math.sin(3 ...
- IOS - UIView停止交互
UIView停止交互(失去焦点): 设置userInteractionEnabled=NO, 获取交互设置YES. 能够应用于UIButton, UITextField等交互型控件. [editBut ...
- HDUOJ--2121--Ice_cream’s world II【朱刘算法】不定根最小树形图
链接:http://acm.hdu.edu.cn/showproblem.php? pid=2121 题意:n个顶点,m条边,求从某一点起建立有向图最小生成树而且花费最小.输出最小花费和根节点下标. ...
- Codeforces Round #311 (Div. 2)A Ilya and Diplomas
[比赛链接]click here~~ [题目大意] n个人,获取一到三等文凭,每门文凭有大小范围.求最后文凭各颁发多少 [解题思路]直接枚举了, 看完题,赶紧写了一发代码,发现竟然错过注冊时间.系统提 ...
- 【Aladdin Unity3D Shader编程】之二 光照模型(一)
光照模型 光照模型就是一个公式,使用这个公式来计算在某个点的光照效果. 在标准光照模型里面,我们把进入摄像机的光分为下面四个部分: 自发光 类似生活中的萤火虫等自己能够发光 高光反射 类似生活中的镜子 ...
- Longest Increasing Subsequence HDU - 6284
/* 首先预处理好f g数组 fi :以a[i]为结尾的 最长上升子序列的长度 gi :以a[i]为开始的 最长上升子序列的长度 mxx : 最长上升子序列的长度 线段树优化 nlogn (不包含a[ ...
- 从es中提取全量数据的shell脚本
[root@hadoop3 xiaole_chk_url]# sh looh.es.res.sh 100 200 1 % Total % Received % Xferd Average Speed ...