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();
    }

  • 相关阅读:
    设计模式学习总结系列应用实例
    【研究课题】高校特殊学生的发现及培养机制研究
    Linux下Oracle11G RAC报错:在安装oracle软件时报file not found一例
    python pro practice
    openstack python sdk list tenants get token get servers
    openstack api
    python
    git for windows
    openstack api users list get token get servers
    linux 流量监控
  • 原文地址:https://www.cnblogs.com/sunshuping/p/5651827.html
Copyright © 2011-2022 走看看