ADO.Net1
一、ADO.Net
数据库连接技术
二、查询
1.步骤:
1)使用数据库空间:using System.Data.SqlClient;
2)连接数据库
3)创建数据库操作命令
4)输入操作命令
5)开启数据库
6)读取数据内容
7)打印
8)关闭数据库
2.例题
SqlConnection Sql= new SqlConnection("server=.;database=bosamvs;user=sa;pwd=123456;");//连接数据库;
SqlCommand stud = Sql.CreateCommand();//创建数据库操作命令;
stud.CommandText="select*from student";//输入数据库操作命令;
Sql.Open();//开启数据库;
SqlDataReader reader = stud.ExecuteReader();//读取数据库内容
if (reader.HasRows)//判断是否含有读取内容
{
while (reader.Read())//读取一行
{
string date=Convert.ToDateTime(reader[]).ToString("yyyy年MM月dd日");
string sex=((bool)reader[])?"男":"女";
string grade=((decimal)reader[]).ToString("#.##");
DateTime age = DateTime.Now;
DateTime birth =Convert.ToDateTime(reader[]);
Console.WriteLine("学号:{0};姓名:{1};\t生日:{2};年龄:{3};性别:{4};成绩:{5};", reader[], reader[], date,age.Year-birth.Year, sex, grade);
}
}
Sql.Close();//关闭数据库
Console.ReadLine();

三、添加,删除,修改
1.步骤:
(1)添加
1)使用数据库空间:using System.Data.SqlClient;
2)连接数据库
3)输入添加项
4)创建数据库操作命令
5)输入操作命令
6)开启数据库
7)读取数据内容
8)打印
9)关闭数据库
(2)删除
1)使用数据库空间:using System.Data.SqlClient;
2)连接数据库
3)输入删除项编号
4)创建数据库操作命令
5)输入操作命令
6)开启数据库
7)读取数据内容
8)打印
9)关闭数据库
(3)修改
1)使用数据库空间:using System.Data.SqlClient;
2)连接数据库
3)选择要修改内容的编号,输入修改内容
4)创建数据库操作命令
5)输入操作命令
6)开启数据库
7)读取数据内容
8)打印
9)关闭数据库
2.例题
#region 1.查询显示
SqlConnection student = new SqlConnection("server=.;database=bosamvs;user=sa;pwd=123456;");//连接数据库
SqlCommand cmd = student.CreateCommand();//创建数据库命令
cmd.CommandText = "select*from student";//输入查询命令
student.Open();//打开数据库
SqlDataReader table = cmd.ExecuteReader();//读取数据库内容
if (table.HasRows)//判断是否为空
{
while (table.Read())//读取一行
{
string date = Convert.ToDateTime(table["Birth"]).ToString("yyyy年MM月dd日");
string sex = ((bool)table["Sex"]) ? "男" : "女";
string grade = ((decimal)table["Score"]).ToString("#.##");
Console.WriteLine("学号:{0}\t姓名:{1}\t生日:{2}\t性别:{3}\t成绩:{4}", table["Code"], table["Name"], date, sex, grade);
}
}
student.Close();//关闭数据库
#endregion
for (int i = ; i > ;i++ )
{
#region 2.请输入你想要做的操作(1:添加,2:删除,3:修改):
Console.Write("请选择操作:1.添加数据;2.删除数据;3.修改数据。");//选择操作内容
int num = int.Parse(Console.ReadLine());
#region Add
if (num == )//判断操作内容
{
Console.WriteLine("请输入添加内容:");
Console.Write("请输入学号:");
string scode = Console.ReadLine();
Console.Write("请输入姓名:");
string sname = Console.ReadLine();
DateTime sbirth = DateTime.Now;
while(true)
{
try//判断输入日期格式
{
Console.Write("请输入生日:");
sbirth = Convert.ToDateTime(Console.ReadLine());
break;
}
catch
{
Console.Write("输入格式不对,请重新输入!");
Console.WriteLine();
}
}
Console.Write("请输入性别:");
string sex = Console.ReadLine();
bool ssex = false;
if (sex == "男")//将男,女赋bool值
{
ssex = Convert.ToBoolean("true");
}
else if (sex == "女")
{
ssex = Convert.ToBoolean("false");
}
Console.Write("请输入成绩:");
decimal sscore = decimal.Parse(Console.ReadLine());
SqlCommand cmdadd = student.CreateCommand();//创建数据库操作命令
cmdadd.CommandText = "insert into student values(" + scode + ",'" + sname + "','" + sbirth + "','" + ssex + "'," + sscore + ")";//输入添加命令
student.Open();
cmdadd.ExecuteNonQuery();//执行数据库命令
Console.Clear();//清屏
Console.WriteLine("添加成功!");
student.Close();
}
#endregion
#region Delete
else if (num == )
{
Console.Write("请输入删除学生学号:");
string scode = Console.ReadLine();
SqlCommand cmddel = student.CreateCommand();
cmddel.CommandText = "delete from student where code=" + scode;//输入删除命令
try//判断命令是否执行成功
{
student.Open();
cmddel.ExecuteNonQuery();//执行命令
Console.Clear();
Console.WriteLine("删除成功!");
}
catch
{
Console.WriteLine("删除失败!");
}
finally
{
student.Close();
}
}
#endregion
#region Update
else if (num == )
{
Console.WriteLine("请输入修改内容:");
Console.Write("请输入要修改的学号:");
string scode = Console.ReadLine();
Console.Write("请输入更改后的姓名:");
string sname = Console.ReadLine();
DateTime sbirth = DateTime.Now;
while (true)
{
try
{
Console.Write("请输入更改后的生日:");
sbirth = Convert.ToDateTime(Console.ReadLine());
break;
}
catch
{
Console.Write("输入格式不对,请重新输入!");
Console.WriteLine();
}
}
Console.Write("请输入更改后的性别:");
string sex = Console.ReadLine();
bool ssex = false;
if (sex == "男")
{
ssex = Convert.ToBoolean("true");
}
else if (sex == "女")
{
ssex = Convert.ToBoolean("false");
}
Console.Write("请输入更改后的成绩:");
decimal sscore = decimal.Parse(Console.ReadLine());
SqlCommand cmdadd = student.CreateCommand();
cmdadd.CommandText = "update student set Name='" + sname + "',Birth='" + sbirth + "',Sex='" + ssex + "',Score=" + sscore + "where Code=" + scode;//输入添加命令
student.Open();
cmdadd.ExecuteNonQuery();//执行命令
Console.Clear();
Console.WriteLine("修改成功!");
student.Close();
}
#endregion
#endregion
#region 3.提示用户操作是否成功,刷新数据,回到2等待用户操作
cmd.CommandText = "select*from student";
student.Open();
SqlDataReader table1 = cmd.ExecuteReader();
if (table1.HasRows)
{
while (table1.Read())
{
string date = Convert.ToDateTime(table1["Birth"]).ToString("yyyy年MM月dd日");
string sex = ((bool)table1["Sex"]) ? "男" : "女";
string grade = ((decimal)table1["Score"]).ToString("#.##");
Console.WriteLine("学号:{0}\t姓名:{1}\t生日:{2}\t性别:{3}\t成绩:{4}", table1["Code"], table1["Name"], date, sex, grade);
}
}
student.Close();
Console.WriteLine();
#endregion
}
Console.ReadLine();




ADO.Net1的更多相关文章
- ADO.NET学习系列(一)
一.ADO.NET基础 程序和数据库交互,要通过ADO.NET进行:通过ADO.NET就能在数据库中执行SQL了.ADO.NET中提供了对不同数据库的统一操作接口(ODBC).另外还有一种操作数据库的 ...
- ASP.NET动态网站制作(22)-- ADO.NET(1)
前言:这节课开始真正地学习WEB开发,ADO.NET就是一组允许.NET开发人员使用标准的.机构化的,甚至无连接的方式与数据交互的技术.所属的类库为:System.Data.dll. 内容: 1.AD ...
- c#事务用法
ado.net2.0的SqlTransaction使用方法 /////ado.net1.0中使用Transacation(事务) string connectionString = "dat ...
- ASP.NET动态网站制作(26)-- Ajax
前言:这节课讲解关于Ajax的相关内容. 内容: 1.当点击页面中的一个按钮提交数据或请求数据的时候,整个页面的信息都会提交(不管信息是否是提交或者请求的数据,页面中所有的数据都提交),这样耗用的时间 ...
- Spring.NET 中的 ADO.NET 数据访问的示例
Spring.NET 1.3.1 中提供了一个使用 AdoTemplate 的完整示例,包括使用泛型和使用非泛型技术进行数据访问,这个示例位于下载的压缩包中\Spring.NET-1.3.1\Spri ...
- ADO.NET对象的详解
1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能 ...
- WebForm获取GET或者POST参数到实体的转换,ADO.NET数据集自动转换实体
最近在修改维护以前的webform项目(维护别人开发的.....)整个aspx没有用到任何的控件,这个我也比较喜欢不用控件所以在提交信息的时候需要自己手动的去Request.QueryString[] ...
- ADO.NET编程之美----数据访问方式(面向连接与面向无连接)
最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...
- ADO.NET一小记-select top 参数问题
异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 最近使用ADO.NET的时候,发现select top @count xxxx 不 ...
随机推荐
- aop 切点匹配规则
- 洛谷P2396 yyy loves Maths VII
P2396 yyy loves Maths VII 题目背景 yyy对某些数字有着情有独钟的喜爱,他叫他们为幸运数字;然而他作死太多,所以把自己讨厌的数字成为"厄运数字" 题目描述 ...
- Tomcat源码解析-整体流程介绍
一.架构 下面谈谈我对Tomcat架构的理解 总体架构: 1.面向组件架构 2.基于JMX 3.事件侦听 1)面向组件架构 tomcat代码看似很庞大,但从结构上看却很清晰和简单,它主要由一堆组件组成 ...
- Continuation-passing style
Continuation-passing style 参考书籍: EOPL ( Essentials of Programming Languages, 3rd Edition ) 作者:知乎用户链 ...
- IntelliJ IDEA的安装和使用教程
1. 安装IntelliJ IDEA IntelliJ IDEA(简称"IDEA")是Java语言的集成开发环境,它是JetBrains公司的产品之一.详情请看:JetBrains ...
- 解题:CTSC 2006 歌唱王国
题面 概率生成函数 对于菜鸡博主来说好难啊 其一般形式为$F(x)=\sum\limits_{i=0}^∞[x==i]x_i$,第i项的系数表示离散变量x取值为i的概率 一般的两个性质:$F(1)=1 ...
- 个推Node.js 微服务实践:基于容器的一站式命令行工具链
作者:个推Node.js 开发工程师 之诺 背景与摘要 由于工程数量的快速增长,个推在实践基于 Node.js 的微服务开发的过程中,遇到了如下问题: 1. 每次新建项目都需要安装一次依赖,这些依赖之 ...
- 理解JVM GC
理解JVM GC对于我们把控Java应用有很大的帮助.下面我从运维角度,把网上的JVM相关的资料整理如下,以加深对JVM GC的理解.如有错误的地方,请看官指正. JVM内存使用分类 JVM的内存分区 ...
- django-pure-pagination 分页插件
官网地址:https://github.com/jamespacileo/django-pure-pagination 官网上有详细的安装和使用介绍
- angularJs实现下拉框多选
话不多说,直接上干货. 肯定需要下拉选插件.必须引入的是 注意 先后顺序 select2.css select2-bootstrap.css select2.min.js angular.min. ...