zoukankan      html  css  js  c++  java
  • ADO.net:数据库的增删改查

    ADO.net:数据库访问技术 ExecuteReader
    程序操作的数据都是变量或对象,这些东西都存在于内存中
    但是有很多的数据是存在数据库中的,数据库中的数据存在于硬盘上

    作用:将数据库中的数据取到内存中来,可以让程序进行操作
    将内存中的数据,写入到数据库中

    1、using System.Data.SqlClient; //引用命名空间

    2、建立 数据库连接类
    string str = "server=.;database=Data0515;user=sa;pwd=123;";//连接字符串;
    固定格式:链接字符串要想的是链接哪个电脑,哪个服务器--》链接哪个数据库--》用户名--》密码
    SqlConnection conn = new SqlConnection(str);

    3、建立 数据库操作类
    SqlCommand cmd = conn.CreateCommand()

    cmd.CommandText = "select *from student";

    4、开启数据库连接通道
    conn.Open();

    5、读取数据,数据读取类
    SqlDataReader dr = cmd.ExecuteReader();

    if (dr.HasRows) //是否读取到了数据
    {
    while (dr.Read()) //循环一行一行的往下读
    {
    //每读一行,都要执行的操作
    Console.WriteLine(dr[0].ToString() + " " + dr[1].ToString() + " " + dr[2].ToString() + " " + Convert.ToDateTime(dr[3]).ToString("yyyy年MM月dd日") + " " + Convert.ToInt32(dr[4]));
    }
    }

    6、关闭数据库通道!!!!!
    conn.Close();


    1)、数据库连接类:sqlconnection
    2)、数据库操作类:sqlcommand
    3)、cmd = conn.CreateCommand();就是利用一个现有连接创建一个Command,用以执行sql指令;
    4)、commandtext:sql命令(commandtext)命令文本,
    commandtext是SQLCOMMAND的一个属性,
    就是用来存放数据库语言(也就是结构化查询语言)

    添加:ExecuteNonQuery
    让用户输入添加的内容
    Console.Write("请输入学生编号:")
    string Code = Console.ReadLine();

    SqlConnection conn = new SqlConnection("server=.;database=Data0515;user=sa;pwd=123");
    SqlCommand cmd = conn.CreateCommand();

    cmd.CommandText = "insert into student values('" + Code + "','" + Name + "','" + Sex + "','" + Time + "'," + Class + ");";

    try
    {
    conn.Open();
    cmd.ExecuteNonQuery();
    Console.WriteLine("添加成功!");
    }
    catch
    {
    Console.WriteLine("添加失败!");
    }
    finally
    {
    conn.Close();
    }


    修改:ExecuteNonQuery
    SqlConnection conn = new SqlConnection("server=.;database=Data0515;user=sa;pwd=123");
    SqlCommand cmd = conn.CreateCommand();
    string UpCode = "";

    while (true)
    {
    bool has = false;
    //要修改的主键字段值
    Console.Write("请输入要修改的主键字段值:");
    UpCode = Console.ReadLine();

    cmd.CommandText = "select *from student where sno=" + UpCode;
    conn.Open();
    SqlDataReader dr = cmd.ExecuteReader();
    if (dr.HasRows)
    {
    has = true;
    }
    conn.Close();
    if (has)
    {
    break;
    }
    else
    {
    Console.WriteLine("查无此(字段值对应的)信息,请确定(字段值)输入是否正确!");
    }
    }
    //修改的信息
    Console.Write("请输入修改的信息:");
    string 字段名 = Console.ReadLine();

    //修改数据库数据
    cmd.CommandText = "update student set sname='" + Name + "',ssex='" + Sex + "',sbirthday='" + Time + "',class='" + Class + "' where sno ='" + UpCode + "'";
    try
    {
    conn.Open();
    cmd.ExecuteNonQuery();
    Console.WriteLine("修改成功!");
    }
    catch
    {
    Console.WriteLine("修改失败!");
    }
    finally
    {
    conn.Close();
    }

    删除:ExecuteNonQuery
    SqlConnection conn = new SqlConnection("server=.;database=Data0515;user=sa;pwd=123");
    SqlCommand cmd = conn.CreateCommand();
    string DelCode = "";
    while (true)
    {
    bool has = false;
    //要删除的主键对应的值
    Console.Write("请输入要删除的学生编号:");
    DelCode = Console.ReadLine();

    cmd.CommandText = "select *from student where sno=" + DelCode;
    conn.Open();
    SqlDataReader dr = cmd.ExecuteReader();
    if (dr.HasRows)
    {
    has = true;
    }
    conn.Close();
    if (has)
    {
    break;
    }
    else
    {
    Console.WriteLine("查无此学生信息,请确定学号输入是否正确!");
    }
    }
    bool isokok = false;
    //1、询问用户是否确定删除
    Console.Write("已查到" + DelCode + "学生的信息,是否确定要删除?(Y/N):");
    while (true)
    {
    string isok = Console.ReadLine();
    if (isok.ToUpper() == "Y")
    {
    isokok = true;
    break;
    }
    else if (isok.ToUpper() == "N")
    {
    isokok = false;
    break;
    }
    else
    {
    Console.Write("输入有误!请重新输入:");
    }
    }
    //2、执行删除
    if (isokok)
    {
    cmd.CommandText = "delete from student where sno = " + DelCode;
    conn.Open();
    cmd.ExecuteNonQuery();
    Console.WriteLine("删除成功!");
    conn.Close();
    }

  • 相关阅读:
    C++疑难杂症
    程序中的错误、异常处理框架设计
    客户端ARPG角色行为模型
    http协议
    MySQL数据库开发(2)
    MySQL数据库开发(1)
    网络编程进阶及并发编程
    网络编程-SOCKET开发
    面向对象编程
    常用模块
  • 原文地址:https://www.cnblogs.com/sunshuping/p/5651827.html
Copyright © 2011-2022 走看看