zoukankan      html  css  js  c++  java
  • 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
    

    (待更新)

    作者:inss!w!
    版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 相关阅读:
    距离计算
    推荐系统
    jvm内存配置参数
    Vim 文件配置
    [转]linux shell 多线程实现
    synchronized 和 ReentrantLock 区别
    sptring boot 修改默认Banner
    Java容器类总结
    JAVA基本类型和包装类
    Linux 虚拟内存机制
  • 原文地址:https://www.cnblogs.com/Hfolsvh/p/15685610.html
Copyright © 2011-2022 走看看