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 不 ...
随机推荐
- BZOJ2756 SCOI2012奇怪的游戏(二分答案+最大流)
由数据范围容易想到网络流.由于操作只是对于棋盘上相邻两格,容易想到给其黑白染色. 假设已经知道最后要变成什么数.那么给黑白点之间连边,其流量则表示同时增加的次数,再用源汇给其限流为需要增加的数即可. ...
- 一台机子同时启动两个相同版本的tomcat
其实我的机子之前是可以同时启动两个tomcat的,但是是两个不同版本的tomcat,一个是6.0,一个是7.0,我的环境变量都没有设置,所以我对解压过的tomcat唯一改动的就是在catalina.b ...
- list All elements are null引起的异常
ArrayList允许添加null值,就容易造成了list内的对象转换出现java.lang.NullPointerException异常. 场景: 数据库 select min(id) as id ...
- Tensorflow图像处理
Tensorflow图像处理主要包括:调整尺寸,图像翻转,调整色彩,处理标注框. 代码如下: #coding=utf-8 import matplotlib.pyplot as plt import ...
- sso接口的调用
之前一直想sso接口已经写好了,登录注册功能是怎么调用的呢?原来在登录注册的jsp页面实现的接口的调用,页面的校验和验证功能在jsp页面即可实现. 注册页面: <%@ page language ...
- json字符串转java对象
今天遇到一个问题,前端ajax获取到一个javaBean对象,好多方法发ajax请求需要把这个对象再传到后端,后端再根据这个对象进行操作(之前计划传递id,但发现传递id的话,后端多个方法都需要根据i ...
- saltstack主机管理项目【day39】:主机管理项目开发
项目目标 salt state.apply -h "ubuntu,centos" -g "ubuntu,centos" -f "ubuntu,cent ...
- 浅说搜索引擎和SEO
搜索引擎 基本工作原理 信息收集功能 技术点SEO优化核心 优化重点 SEO优化 网站URL title信息 meta信息 图片ALT flash信息 frame框架 网页重要度特征 之前有看到一个师 ...
- kombu源码Producer收获一
celery内置了kombu库,看了一下kombu的源码,从官网最简单的一个例子来分析---消息发布,源码如下: from __future__ import absolute_import, uni ...
- [原]Android开发优化-Adapter优化
ListView作为Android开发中使用频率最高的一个控件,保证ListView的流畅运行,对用户体验的提高至关重要.Adapter是ListView和数据源之间的中间人,当每条数据进入可见区时, ...