首页 > 代码库 > 0913 完整修改,删除-实体类-数据操作类

0913 完整修改,删除-实体类-数据操作类

<完整修改删除>

昨天我们使用c#访问数据库会有很多弊端,如果数据库中没有这一条信息也会返回删除成功

今天完整修改删除就会克服这个困难

第一步 需要先查询

#region 查询
                Console.WriteLine("学号" + "\t" + "姓名" + "\t" + "性别" + "\t" + "    " + "生日" + "\t" + "民族" + "\t");
                //连接数据库
                SqlConnection conn = new SqlConnection("server=.;database=Ado0720;user=sa;pwd=123456;");
                //操作数据库
                SqlCommand cmd = conn.CreateCommand();
                //操作语句
                cmd.CommandText = "select*from renyuan";
                //开启通道
                conn.Open();
                //将信息放入内存
                SqlDataReader dr = cmd.ExecuteReader();
                //打印信息
                while (dr.Read())
                {
                    Console.WriteLine(dr["code"].ToString() + "\t" + dr["name"].ToString() + "\t" + " " + dr["sex"].ToString() + "\t" + ((Convert.ToDateTime(dr["birthday"])).ToString("yyyy年MM月dd日")) + "\t" + dr["nation"].ToString() + "\t");

                }

                //关闭通道
                conn.Close();
                #endregion

第二部 添加数据库

 Console.Write("请输入您要执行的操作(1.增 2.删 3.改):");
                string aa = Console.ReadLine();
                if (aa == "1" || aa== "2" || aa== "3")
                {
                    int a = int.Parse(aa);
                    //根据获取的数据分情况执行访问数据库
                    #region    增
                    if (a == 1)
                    {

                        Console.Write("请输入添加的学号:");
                        int code = int.Parse(Console.ReadLine());
                        Console.Write("请输入添加的姓名:");
                        string name = Console.ReadLine();
                        Console.Write("请输入添加的性别:");
                        string sex = Console.ReadLine();
                        Console.Write("请输入添加的生日:");
                        string birthday = Console.ReadLine();
                        Console.Write("请输入添加的民族:");
                        string nation = Console.ReadLine();

                        cmd.CommandText = "insert into renyuan values(@code,@name,@sex,@birthday,@nation)";
                        cmd.Parameters.Clear();
                        cmd.Parameters.Add("@code", code);
                        cmd.Parameters.Add("@name", name);
                        cmd.Parameters.Add("@sex", sex);
                        cmd.Parameters.Add("@birthday", DateTime.Parse(birthday));
                        cmd.Parameters.Add("@nation", nation);
                        conn.Open();
                        cmd.ExecuteNonQuery();
                        conn.Close();
                        Console.WriteLine("添加成功!");
                        Console.ReadLine();
                        Console.Clear();


                    }
                    #endregion

 

第三部 删除数据库(在这里要先判断数据库中有没有这条信息

 bool b = false;
                        Console.Write("请输入删除的学号:");
                        int code = int.Parse(Console.ReadLine());

                        查询数据库中有没有这条数据
                        cmd.CommandText = "select *from renyuan where code=‘" + code + "‘";
                        conn.Open();
                        SqlDataReader dr1 = cmd.ExecuteReader();

                         有这条数据,执行
                        if (dr1.HasRows)
                        {
                            b = true;
                        }
                        conn.Close();
                        if (b)
                        {
                            Console.Write("是否确认删除" + code + "的信息:(Y/N)");
                            string n = Console.ReadLine();
                            if (n.ToUpper() == "Y")
                            {
                                cmd.CommandText = "delete from renyuan where code=@code";
                                cmd.Parameters.Clear();
                                cmd.Parameters.Add("@code", code);
                                conn.Open();
                                cmd.ExecuteNonQuery();
                                conn.Close();
                                Console.WriteLine("删除成功!");
                                Console.ReadLine();
                                Console.Clear();
                            })

第三部 修改数据库  与删除类似这里就不写出了

 

 

<实体类>

将对象封装,用来接受数据库中每行的对应列的数据

 //学号
        private int _code;
        /// <summary>
        /// 学号
        /// </summary>
        public int Code
        {
            get { return _code; }
            set { _code = value; }
        }

        //姓名
        private string _name;
        /// <summary>
        /// 姓名
        /// </summary>
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }

        //性别
        private string _sex;
        /// <summary>
        /// 性别
        /// </summary>
        public string Sex
        {
            get { return _sex; }
            set { _sex = value; }
        }

        //生日
        private DateTime _birthday;
        /// <summary>
        /// 生日
        /// </summary>
        public DateTime Birthday
        {
            get { return _birthday; }
            set { _birthday = value; }
        }

        //民族
        private string _nation;
        /// <summary>
        /// 民族
        /// </summary>
        public string Nation
        {
            get { return _nation; }
            set { _nation = value; }
        }

<数据操作类>

 SqlConnection conn=null;
          SqlCommand cmd=null;

       //链接数据库函数
       public void renyuansj()
       {
          conn= new SqlConnection("server=.;database=Ado0720;user=sa;pwd=123456;");
           cmd=conn.CreateCommand();
       }
      
      //查询
       /// <summary>
       /// 查询数据库
       /// </summary>
       /// <param name="code">查询主键</param>
       /// <returns>返回一条数据</returns>
       public renyuan select(int code)
      {
          renyuan ry=null;
        
          cmd.CommandText="select *from renyuan where code=@a";
          cmd.Parameters.Clear();
          cmd.Parameters.Add("@a",code);
           conn.Open();
          SqlDataReader dr=cmd.ExecuteReader();
          if(dr.HasRows)
          {
              dr.Read();
              ry.Code=int.Parse(dr["code"].ToString());
              ry.Name=dr["name"].ToString();
              ry.Sex=dr["sex"].ToString();
              ry.Birthday=DateTime.Parse(dr["birthday"].ToString());
              ry.Nation=dr["nation"].ToString();
         
          }
           conn.Close();
          return ry;
       }

       /// <summary>
       /// 删除数据
       /// </summary>
       /// <param name="code">删除学号</param>
       /// <returns></returns>
       public bool delete(int code)
       {
           bool b = false;
           cmd.CommandText = "delete from renyuan where code=@a";
           cmd.Parameters.Clear();
           cmd.Parameters.Add("@a",code);
           conn.Open();
           try
           {
               cmd.ExecuteNonQuery();
               b = true;
           }
           catch { }
           conn.Close();
           return b;
       }

       /// <summary>
       /// 数据库添加
       /// </summary>
       /// <param name="ry">数据对象</param>
       public void insert(renyuan ry)
       {
           cmd.CommandText = "insert into Users values(@a,@b,@c,@d,@e)";
           cmd.Parameters.Clear();
           cmd.Parameters.Add("@a", ry.Code);
           cmd.Parameters.Add("@b", ry.Name);
           cmd.Parameters.Add("@c", ry.Sex);
           cmd.Parameters.Add("@d", ry.Birthday);
           cmd.Parameters.Add("@e", ry.Nation);
          

           conn.Open();
           cmd.ExecuteNonQuery();
           conn.Close();
       }

       /// <summary>
       /// 修改数据库
       /// </summary>
       /// <param name="ry"></param>
       /// <returns></returns>
       public bool update(renyuan ry)
       {
           bool b = false;
           cmd.CommandText = "update renyuan set name=@name,sex=@sex,birthday=@birthday,nation=@nation where code=@code";
           cmd.Parameters.Clear();
           cmd.Parameters.Add("@code", ry.Code);
           cmd.Parameters.Add("@name",ry.Name);
           cmd.Parameters.Add("@sex", ry.Sex);
           cmd.Parameters.Add("@birthday", ry.Birthday);
           cmd.Parameters.Add("@nation", ry.Nation);
           conn.Open();
           try
           {
               cmd.ExecuteNonQuery();
               b = true;
           }
           catch { }
           conn.Close();
           return b;
       }

0913 完整修改,删除-实体类-数据操作类