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 不 ...
随机推荐
- #pragma once 与 #ifndef 的使用
为了防止头文件被重复包含,主要有两种方式: 方式一:使用 #ifndef #ifndef OPTIONAL_TEST_H #define OPTIONAL_TEST_H //............. ...
- Racket Cheat Sheet
Racket Cheat Sheet 来源 http://docs.racket-lang.org/racket-cheat/index.html?q=Racket%20Cheat%20Sheet ...
- MT【167】反复放缩
已知数列$\{a_n\}$满足:$a_1=1,a_{n+1}=a_n+\dfrac{a_n^2}{n(n+1)}$1)证明:对任意$n\in N^+,a_n<5$2)证明:不存在$M\le4$, ...
- java Integer.valueOf 和 Integer.parseInt 和 new Integer区别及注意事项
先看一下下面的结果 1.System.out.println(127==127); //true , int type compare 2.System.out.println(128==128); ...
- composer require 本地包(用于开发使用)
修改 composer.json "repositories": [ { "type": "path", "url": ...
- Json对象和Json字符串的区别
说白了,字符串都是带引号的. 尤其是在使用springmvc的时候,后台@RequestBody接受的是一个json格式的字符串,一定是一个字符串. 参考这个博客还可以: https://blog. ...
- 开源.NET界面库
一.十大开源的.NET用户界面框架 选择一款合适的GUI框架是.NET开发中比较重要但又很棘手的问题,因为用户界面相当于一款应用的"门面",直接面向用户.好的UI更能吸引用户,有时 ...
- Zabbix应用五:Zabbix监控多Tomcat
利用Zabbix Trapper方式监控多Tomcat实例 Zabbix自带的模版(JMX Tomcat.JMX Generic)默认只能在一台机器上监控一个tomcat实例(因为监控项中的key不能 ...
- Hadoop生态圈-Flume的组件之拦截器与选择器
Hadoop生态圈-Flume的组件之拦截器与选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客只是配置的是Flume主流的Interceptors,想要了解更详细 ...
- css拾遗(一)(inline-block,absolute)
一:inline-block中不要嵌套其他block标签,不然会破坏布局 <style> .left{ float:left; } .hide{ display:none; } a{ di ...