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
(待更新)