一、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的更多相关文章

  1. ADO.NET学习系列(一)

    一.ADO.NET基础 程序和数据库交互,要通过ADO.NET进行:通过ADO.NET就能在数据库中执行SQL了.ADO.NET中提供了对不同数据库的统一操作接口(ODBC).另外还有一种操作数据库的 ...

  2. ASP.NET动态网站制作(22)-- ADO.NET(1)

    前言:这节课开始真正地学习WEB开发,ADO.NET就是一组允许.NET开发人员使用标准的.机构化的,甚至无连接的方式与数据交互的技术.所属的类库为:System.Data.dll. 内容: 1.AD ...

  3. c#事务用法

    ado.net2.0的SqlTransaction使用方法 /////ado.net1.0中使用Transacation(事务) string connectionString = "dat ...

  4. ASP.NET动态网站制作(26)-- Ajax

    前言:这节课讲解关于Ajax的相关内容. 内容: 1.当点击页面中的一个按钮提交数据或请求数据的时候,整个页面的信息都会提交(不管信息是否是提交或者请求的数据,页面中所有的数据都提交),这样耗用的时间 ...

  5. Spring.NET 中的 ADO.NET 数据访问的示例

    Spring.NET 1.3.1 中提供了一个使用 AdoTemplate 的完整示例,包括使用泛型和使用非泛型技术进行数据访问,这个示例位于下载的压缩包中\Spring.NET-1.3.1\Spri ...

  6. ADO.NET对象的详解

    1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能 ...

  7. WebForm获取GET或者POST参数到实体的转换,ADO.NET数据集自动转换实体

    最近在修改维护以前的webform项目(维护别人开发的.....)整个aspx没有用到任何的控件,这个我也比较喜欢不用控件所以在提交信息的时候需要自己手动的去Request.QueryString[] ...

  8. ADO.NET编程之美----数据访问方式(面向连接与面向无连接)

    最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...

  9. ADO.NET一小记-select top 参数问题

    异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 最近使用ADO.NET的时候,发现select top @count xxxx 不 ...

随机推荐

  1. Before NOIP2017

    明天就比赛了呢! 说起来,这是我第二次,可能也是最后一次正式参加提高组的比赛了. 虽然是从初中就有参加信息学的学习,但是认真学习信息竞赛还是去年七月开始的.NOIP2016 中,我凭着两天的简单题和一 ...

  2. MySql的相关资操作

    01-MySql的前戏   MySql的前戏 在学习Mysql之前,我们先来想一下一开始做的登录注册案例,当时我们把用户的信息保存到一个文件中: #用户名 |密码root|123321 alex|12 ...

  3. 02 使用Mybatis的逆向工程自动生成代码

    1.逆向工程的作用 Mybatis 官方提供了逆向工程,可以针对数据库表自动生成Mybatis执行所需要的代码(包括mapper.xml.Mapper.java.pojo). 2.逆向工程的使用方法 ...

  4. clazz.isArray()

    boolean isArray() 判断类型是不是数组 Class clazz = int[].class; System.out.println(clazz.isArray());

  5. MT【195】三次函数

    (2016年清华大学自主招生暨领军计划试题) 已知$x,y,z\in \mathbf{R}$,满足$x+y+z=1,x^2+y^2+z^2=1$,则下列结论正确的有( ) A.$xyz$的最大值为$0 ...

  6. 【刷题】BZOJ 1487 [HNOI2009]无归岛

    Description Neverland是个神奇的地方,它由一些岛屿环形排列组成,每个岛上都生活着之中与众不同的物种.但是这些物种都有一个共同的生活习性:对于同一个岛上的任意两个生物,他们有且仅有一 ...

  7. 再谈Scala集合

    集合!集合!一个现代语言平台上的程序员每天代码里用的最多的大概就是该语言上的集合类了,Scala的集合丰富而强大,至今无出其右者,所以这次再回过头再梳理一下. 本文原文出处:  还是先上张图吧,这是我 ...

  8. 普通平衡树Treap(含旋转)学习笔记

    浅谈普通平衡树Treap 平衡树,Treap=Tree+heap这是一个很形象的东西 我们要维护一棵树,它满足堆的性质和二叉查找树的性质(BST),这样的二叉树我们叫做平衡树 并且平衡树它的结构是接近 ...

  9. bzoj1013/luogu4035 球形空间生成器 (高斯消元)

    根据各点到圆心的距离相等,可以列出有N个等号的方程 假设圆心坐标是(x,y,z,...)的话,$x^2,y^2,z^2$等是可以消掉的 于是整理一下,就变成了N元1次方程组,有N个方程.而且保证是相容 ...

  10. 六、spring boot 1.5.4 配置多数据源

    spring boot 已经支持多数据源配置了,无需网上好多那些编写什么类的,特别麻烦,看看如下解决方案,官方的,放心! 1.首先定义数据源配置 #=====================multi ...