SQL Server数据库
C#图书管理系统要用到数据库,就安装了SQL Server
安装过程
https://blog.csdn.net/weixin_43790591/article/details/104149800
这个博客写的很详细
ADO.NET访问数据库
详细教程
ADO.NET 是在 .NET 平台上访问数据库的组件
利用ADO.NET访问数据库,要利用五个类:Connection 类、 Command 类、DataReader 类、DataAdapter 类、DataSet 类
- Connection 类:用于和数据库建立连接和断开连接,获取连接状态等
- Command 类:实现对数据库增删改查的操作
- DataReader 类:用于读取从数据库查询出来的数据
- DataAdapter 类:是数据库和DataSet之间的桥梁,将数据库的结果送到DataSet,将DataSet的修改更新到数据库
- DataSet 类:存放数据库读取的结果,和 DataReader相似,区别是更改DataSet的数据可以更新到数据库
引入命名空间
Microsoft SQL Server
的命名空间是 System.Data.SqlClient
using System.Data.SqlClient;
连接数据库
数据库连接串的方式
server = 服务器名称 / 数据库的实例名 ; uid = 登录名 ; pwd = 密码 ; database = 数据库名称
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Server=(local); Database=library_mangement;User ID=sa;Password=XXXXXX";
conn.Open();
增删改查
模糊查找
SqlCommand comm = new SqlCommand();
SqlDataReader dr;
comm.Connection = conn;
comm.CommandText = "select student_id,name from users where name like '李%'";
dr = comm.ExecuteReader();
string strInfo = "";
for (int i = 0; i < dr.FieldCount; i++)
strInfo += dr.GetName(i) + " ";
strInfo += "\n";
while (dr.Read())
{
for (int i = 0; i < dr.FieldCount; i++)
strInfo += dr[i] + " ";
strInfo += "\n";
}
if (dr.HasRows)
MessageBox.Show(strInfo, "查询结果");
else
MessageBox.Show("无匹配记录!", "查询结果");
comm.ExecuteReader()
返回并生成一个DataReader的对象
用DataReader获取查到到的一条数据的一个字段值
if (dr.HasRows)
{
while (dr.Read())
{
pwd = dr["password"].ToString();
}
}
插入一条数据
comm.CommandText = string.Format("insert into borrowrecords([user], bookid, bookname, borrowtime, state) values('{0}', {1}, '{2}', '{3}', '{4}')", frmLogin.stu_name, txtBookid.Text.ToString(), lblBookname.Text, DateTime.Now.ToString("yyyy-MM-dd"), "未还");
comm.ExecuteNonQuery();
修改一条数据
comm.CommandText = string.Format("update borrowrecords set state='已还', returntime='{0}' where [user]='{1}' and bookname='{2}' and state='未还'", DateTime.Now.ToString("yyyy-MM-dd"), frmLogin.stu_name, lblBookname.Text);
comm.ExecuteNonQuery();
删除一条数据
delete from borrowrecords where id = 9
(待更新)