ADO,NET 实体类 和 数据访问类

来源:互联网 发布:铁路软件开发 编辑:程序博客网 时间:2024/05/23 19:25
--SQl中--建立ren的数据库,插入一条信息create database ren gouse rengocreate table xinxi(code nvarchar(20) primary key,--编号name nvarchar(20)--名字)insert into xinxi values('1001','zhangsan')
复制代码

 

1、建立实体类:

实体类:封装
封装一个类,类名与数据库表名一致
成员变量名与列名一致,多一个下划线
成员变量封装完的属性,就会与数据表中的列名一致

每一行数据都可以存成一个对象,操作这个对象,就相当于对某一行数据进行整体操作

复制代码
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication71.App_Code{    public class xinxi    {        private string _code;        public string code        {            get { return _code; }            set { _code = value; }        }        private string _name;        public string name        {            get { return _name; }            set { _name = value; }        }    }}
复制代码

2、建立数据访问类:

就是将对数据库的一些操作,单独写到一个类中,封成一些方法,等待调用。

结构看起来会非常清晰。

就像html中的CSS样式表和javascript的关系

 

复制代码
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Data.SqlClient;namespace ConsoleApplication71.App_Code{        public class xinxidata    {        SqlConnection cnn = null;        SqlCommand cmd = null;        public xinxidata()        {            cnn = new SqlConnection("server=.;database=ren;user=sa;pwd=123");            cmd = cnn.CreateCommand();        }        /// <summary>        /// 增加        /// </summary>        /// <param name="x">信息对象</param>        public void insert(xinxi x)        {                        cmd.CommandText = "insert into xinxi values(@a,@b)";            cmd.Parameters.Clear();            cmd.Parameters.Add("@a",x.code);            cmd.Parameters.Add("@b",x.name);            cnn.Open();            cmd.ExecuteNonQuery();            cnn.Close();               }        //查询        public xinxi chaxun(string code)        {            xinxi xin = null;            cmd.CommandText = "select * from xinxi where code=@code";            cmd.Parameters.Clear();            cmd.Parameters.Add("@code",code);            cnn.Open();            SqlDataReader ss = cmd.ExecuteReader();            if (ss.HasRows)//判断有没有            {                xin = new xinxi();                ss.Read();                xin.code=ss["code"].ToString();                xin.name=ss["name"].ToString();            }            cnn.Close();            return xin;                }        /// <summary>        /// 删除        /// </summary>        /// <param name="name"></param>        public bool delete(string code)        {            bool b = false;            cmd.CommandText = "delete from xinxi where code=@code";            cmd.Parameters.Clear();            cmd.Parameters.Add("@code",code);            cnn.Open();            try//看看有没有出错,即删没删成功            {                cmd.ExecuteNonQuery();                b=true;            }            catch            {                b=false;            }            cnn.Close();            return b;        }                public void quanbu()//查询全部信息        {            cmd.CommandText = "select * from xinxi";            cnn.Open();            SqlDataReader ss = cmd.ExecuteReader();            while (ss.Read())            {                Console.WriteLine(ss[0]+"  "+ss[1]);            }            cnn.Close();        }        public bool update(string code,string name)        {            bool b = false;            cmd.CommandText = "update xinxi set name=@name where code=@code";            cmd.Parameters.Clear();            cmd.Parameters.Add("@name",name);            cmd.Parameters.Add("@code",code);            cnn.Open();            try            {                cmd.ExecuteNonQuery();                b = true;            }            catch { }            cnn.Close();            return b;        }    }}
复制代码

 

 3,在main函数里面,增删改查

复制代码
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using ConsoleApplication71.App_Code;namespace ConsoleApplication71{    class Program    {        static void Main(string[] args)        {            xinxidata sj = new xinxidata();//实例化#region  添加            //xinxi xin = new xinxi();            //Console.Write("请输入添加的编号:");            //xin.code = Console.ReadLine();            //Console.Write("请输入添加的名字:");            //xin.name = Console.ReadLine();                  //sj.insert(xin);#endregion#region  删除            //Console.Write("请输入被删除编号");            //string code = Console.ReadLine();            //if (sj.chaxun(code) != null)//判断是否有这个编号            //{            //  bool T=  sj.delete(code);            //  if (T == true)//如果删除成功            //  {            //      Console.WriteLine("删除成功");            //  }            //  else            //  {            //      Console.WriteLine("删除不成功");            //  }            //}            //else            //{            //    Console.WriteLine("输入有误!!");            //}            #endregion#region 查询全部信息            //sj.quanbu();            #endregion            #region 修改            Console.Write("请输入要修改的编号:");            string code = Console.ReadLine();            if (sj.chaxun(code) != null)            {                Console.Write("请输入要修改的名字:");                string name = Console.ReadLine();                              bool M= sj.update(code,name);               if (M == true)               {                   Console.WriteLine("修改成功!");               }               else               {                   Console.WriteLine("删除不成功");               }            }            else            {                Console.WriteLine("输入有误,不存在此编号!!");            }            #endregion            Console.ReadLine();        }        }}
0 0
原创粉丝点击