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 不 ...
随机推荐
- 【设计模式】—— 状态模式State
前言:[模式总览]——————————by xingoo 模式意图 允许一个对象在内部改变它的状态,并根据不同的状态有不同的操作行为. 例如,水在固体.液体.气体是三种状态,但是展现在我们面前的确实不 ...
- hdu 6315 Naive Operations (2018 Multi-University Training Contest 2 1007)
Naive Operations Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 502768/502768 K (Java/Other ...
- 【转】AD转换中常用的十种数字滤波法
在AD采集中经常要用到数字滤波,而不同情况下又有不同的滤波需求,下面是10种经典的软件滤波方法的程序和优缺点分析: 限幅滤波法(又称程序判断滤波法) 中位值滤波法 算术平均滤波法 递推平均滤波法(又称 ...
- 函数、可变参数、keyword-only参数、实参解构
函数的数学定义:y=f(x) ,y是x的函数,x是自变量.y=f(x0, x1, ..., xn) python中的函数: 由函数名称.参数列表.和若干语句组成的语句块构成,完成一定的功能,是组织代码 ...
- CF1027C Minimum Value Rectangle
之前做的时候没想出来...现在来数学推导一波. 题意:从n个木棒中选出4个拼成一个矩形,使得 (周长)2/面积 最小. 解:设矩形宽a长b.我们要最小化下面这个式子: 去掉常数,不妨设b = a + ...
- Ubantu里面的Sublime Text3不支持中文的解决办法
参考的大佬链接:https://github.com/lyfeyaj/sublime-text-imfix 更新然后将系统升级到最新版本,在linux终端输入 sudo apt-get update ...
- bzoj千题计划236:bzoj2300: [HAOI2011]防线修建
http://www.lydsy.com/JudgeOnline/problem.php?id=2300 维护动态凸包,人懒用的set 用叉积判断,不要用斜率 #include<set> ...
- BZOJ2301:莫比乌斯反演+二维容斥解决GCD范围计数
这个题是刚才刷的第一道反演题的拓展版,加上一个容斥就可以了 #include<cstdio> #include<algorithm> using std::min; ; int ...
- javascript公有静态成员
公共静态成员在javascript中并没有特殊语法来表示静态成员.但是可以通过使用构造函数向其添加属性这种方式. //构造函数 var Gadget = function(){}; //静态方法 Ga ...
- IOS 与 PHP 通信加密,使用AES 128 CBC no padding
这个网上的资料真实浩如烟海,但是真正有价值的屈指可数 自己尝试了一天多,终于还是搞定了. 再次要感谢网上的前辈么. 比如下面这个关于php和java端的实现: http://my.oschina.ne ...