数据库访问的方法和技术 ADO.NET的主要组件 DataSet(数据集)是断开式的访问方式,DataSet完全可以在内存里面存放一个类似于数据库这样的结构,在里面进行操作,最终可以保存到我们的数据库中去。 .NET平台数据提供程序,是连接式的方式,就是实时的操作数据库。 操作数据库的话,需要使用NuGet程序包安装相应的Connection对象 为什么要使用Connection对象? Connection对象 使用之前,需要安装相应的数据库的Connection对象 using System.Data.SqlClient;//sqlserver身份验证登陆//server 服务器 uid 账号 pwd 密码 database 数据库SqlConnection conn = new SqlConnection('server=.;uid=sa;pwd=sa;database=SchoolSystemDB');conn.Open();//打开数据库Console.WriteLine('打开数据库成功');conn.Close();//关闭数据库Console.WriteLine('关闭数据库'); 有时候数据库会动态切换,会有很多应用场景,所以一般会使用,使用一个属性ConnectionString即可,上面的是构造方法方式复制,下面这种也可以。
对数据库进行简单地增加删除修改 using System.Data.SqlClient;namespace ADO_NET{ internal class StudentManager { /// <summary> /// 添加 /// </summary> public void Add() { Console.WriteLine('请输入姓名:'); string stuName = Console.ReadLine(); Console.WriteLine('请输入性别:'); string sex = Console.ReadLine(); Console.WriteLine('请输入出生日期'); string birthday = Console.ReadLine(); Console.WriteLine('请输入年级'); string gradeId = Console.ReadLine(); Console.WriteLine('请输入住址:'); string address = Console.ReadLine(); Console.WriteLine('请输入电话:'); string telephone = Console.ReadLine(); //第一步:创建访问数据库的连接对象 SqlConnection conn = new SqlConnection('server=.;uid=sa;pwd=sa;database=SchoolSystemDB'); //第二步:打开数据库 conn.Open(); //第三步:创建一个用于执行脚本的对象 string sql = $@'insert into Students(StuName, Sex, Brithday, GradeId, CreateTime, Address, Telephone) values('{stuName}','{sex}','{birthday}',{gradeId},default,'{address}','{telephone}')'; SqlCommand command = new SqlCommand(sql,conn); //第四步:创建执行脚本对象 int result = command.ExecuteNonQuery();//添加、删除、修改,执行返回影响受影响的条数 //第五步:关闭数据库 conn.Close(); if (result > 0) { Console.WriteLine('添加成功'); } else { Console.WriteLine('添加失败'); } } /// <summary> /// 删除 /// </summary> public void Delete() { Console.WriteLine('请输入需要删除的学生编号:'); string stuNo = Console.ReadLine(); //第一步:创建访问数据库的连接对象 SqlConnection conn = new SqlConnection('server=.;uid=sa;pwd=sa;database=SchoolSystemDB'); //第二步:打开数据库 conn.Open(); //第三步:创建一个用于执行脚本的对象 string sql = $@'delete from students where StuNo={stuNo}'; SqlCommand command = new SqlCommand(sql, conn); //第四步:创建执行脚本对象 int result = command.ExecuteNonQuery();//添加、删除、修改,执行返回影响受影响的条数 //第五步:关闭数据库 conn.Close(); if (result > 0) { Console.WriteLine('删除成功'); } else { Console.WriteLine('删除失败'); } } /// <summary> /// 修改 /// </summary> public void Update() { Console.WriteLine('请输入需要修改的学生编号:'); string stuNo = Console.ReadLine(); Console.WriteLine('请输入修改学生姓名:'); string stuName = Console.ReadLine(); //第一步:创建访问数据库的连接对象 SqlConnection conn = new SqlConnection('server=.;uid=sa;pwd=sa;database=SchoolSystemDB'); //第二步:打开数据库 conn.Open(); //第三步:创建一个用于执行脚本的对象 string sql = $@'update Students set StuName='{stuName}' where StuNo={stuNo}'; SqlCommand command = new SqlCommand(sql, conn); //第四步:创建执行脚本对象 int result = command.ExecuteNonQuery();//添加、删除、修改,执行返回影响受影响的条数 //第五步:关闭数据库 conn.Close(); if (result > 0) { Console.WriteLine('修改成功'); } else { Console.WriteLine('修改失败'); } } }} 查询常见的有两种: command.ExecuteScalar();一行一列受影响,平时在应用场景的时候,聚合函数、count、avg、sum、max、min
public void GetNameByStuNo() { Console.WriteLine('请输入需要查询的学生编号:'); string stuNo = Console.ReadLine(); //第一步:创建访问数据库的连接对象 SqlConnection conn = new SqlConnection('server=.;uid=sa;pwd=sa;database=SchoolSystemDB'); //第二步:打开数据库 conn.Open(); //第三步:创建一个用于执行脚本的对象 string sql = $@'select stuname from Students where stuno={stuNo}'; SqlCommand command = new SqlCommand(sql, conn); //第四步:创建执行脚本对象 object obj = command.ExecuteScalar();//查询返回第一行第一列 //第五步:关闭数据库 conn.Close(); if (obj!=null) { Console.WriteLine($'该学生的姓名:{obj.ToString()}'); } else { Console.WriteLine('找不到该学生信息'); } } |
|
来自: 新用户0935snDB > 《待分类》