0914 c#的遍历查询-属性扩展

c#的遍历查询

昨天我们的查询只能查询一条数据,查询的只是学号是输入的学号的那个同学的信息,今天我们看一下查看所有的信息

其实步骤跟昨天一样,只需要把查询出来的每个对象放入集合中,在program里面挨个输出来就行了

这是我们的函数,返回值返回一个泛型集合,数据类型就是我们对象的类型,没有长度.

public List<xuesheng> select1()
        {                         
            List<xuesheng> list = new List<xuesheng>();//实例化集合
            cmd.CommandText = "select *from xuesheng";//开始查询
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)//有数据就进
            {
                while (dr.Read())//将数据库里面的数据放到对象里面
                {
                    xuesheng xs = new xuesheng();
                    xs.Code = int.Parse(dr["code"].ToString());
                    xs.Name = dr["name"].ToString();
                    xs.Sex = dr["sex"].ToString();
                    xs.Banji = dr["banji"].ToString();
                    xs.Birthday = DateTime.Parse(dr["birthday"].ToString());
                    xs.Nation = dr["nation"].ToString();

list.Add(xs);//将对象挨个放入集合里面
                }

}
            else
            {
                Console.WriteLine("数据仓库中没有信息!");
            }
            conn.Close();
            return list;//返回集合
        }

剩下的只要在program里面遍历集合就行了

List<xuesheng> list = new List<xuesheng>();//实例化集合
                    xueshengsj xss = new xueshengsj();
                    list = xss.select1();
                    foreach (xuesheng xs in list)
                    {
                        Console.WriteLine((xs.Code.ToString()) + "   " + xs.Name + "   " + xs.Sex + "   " + xs.Banji + "   " + xs.BirthdayStr + "   " + xs.nation);

}

属性扩展

简单的属性扩展在实体类里面直接写就行

private DateTime _birthday;
        public DateTime Birthday
        {
            get { return _birthday; }
            set { _birthday = value; }
        }
        public string BirthdayStr//属性扩展
        {
            get { return _birthday.ToString("yyyy年MM月dd日"); }
        }

用到函数的就需要重新写数据操作类

private string _nation;
        public string Nation
        {
            get { return _nation; }
            set { _nation = value; }
        }
        public string nation//属性扩展,下面写出扩展的nationlgsj的函数
        {

get
            {
                nationlgsj nsj = new nationlgsj();
                string language = nsj.select(_nation);
                return language;
            }
        }

上面属性扩展的函数

public string select(string nation)
        {
            string language = null;
            cmd.CommandText = "select *from minzu where [email protected]";//查询的是另一个表
            cmd.Parameters.Clear();
            cmd.Parameters.Add("@nation",nation);
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            if(dr.HasRows)
            {
                dr.Read();
                language = dr["language"].ToString();//将民族对应的语言写出来
            }
            conn.Close();

return language;
       
        }

时间: 2024-11-05 18:55:25

0914 c#的遍历查询-属性扩展的相关文章

ADO数据库访问类查询、属性扩展

1 数据库访问类查询 (1)查询一条 有参数:查询这条信息的主键: 有返回值:返回值是一个实体类: dr.read();执行一遍,读取这行信息并放进users类型中. ///返回users实体类类型 public users chayi(string name) { users u = null; com.CommandText = "select *from users where [email protected]"; com.Parameters.Clear(); com.Par

ADO.NET 数据访问类查询、属性扩展

今天,我首先在之前所做的人员管理系统的基础上,利用数据访问类进行了所有人员信息的查询. 主程序代码: List<Users> Ulist = new UsersData().Select(); if (Ulist.Count > 0)//判断是否包含语句 { foreach (Users u1 in Ulist)//遍历 { Console.WriteLine(u1.UserName + " " + u1.PassWord + " " + u1.N

ADO.NET(查询、属性扩展)

一.ADO.NET 融合面向对象的查询语句 1.只查询一条数据 //数据访问中的select方法 public stu select(string xuehao) { stu s = null; cmd.CommandText = "select *from stu where [email protected]"; cmd.Parameters.Clear(); cmd.Parameters.Add("@a", xuehao); conn.Open(); SqlD

linq组合查询时属性扩展问题

学习linq的过程中,做一个表格的条件查询并且分页显示.显示的出的数据需要经过属性拓展来实现将需要给用户看的值显示出来. 后台绑定数据时用的是上下文---- if(!ispostback){ using (DataClassesDataContext con = new DataClassesDataContext()) { List<Users> ulist = con.Users.ToList(); ; Repeater1.DataSource = ulist.Skip(0).Take(c

数据模型和数据访问类以及属性扩展和泛型集合

数据模型: 数据模型就是将一个表中一行的所有属性利用封装写到一个类里面,将数据表中的行数据组成一个同样结构的对象,方便使用. 1 public class Car 2 { 3 SqlConnection conn = null; 4 SqlCommand com = null; 5 public Car() 6 { 7 conn = new SqlConnection("server=.;database=ADOlianxi0425;user=sa;pwd=123;"); 8 com

实体类、数据访问类、属性扩展

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 实体类_数据访问类.App_Code { public class Users { private string _username; //封装 /// <summary> /// 用户名 /// </summary> public

2017-4-21 字符串攻击 防御 实体类 数据访问类 属性扩展 三层架构开发

(一)防止sql数据库字符串注入攻击: 1.字符串注入攻击实在填写内容是,插入的sql语句,对数据库进行的操作 数据库的攻击就是插入新的sql语句,并对后面的语句进行注销:');update Students set Sname='';-- 2.防止字符串注入攻击: cmd.CommandText = "update Student set Sname = @a",   ----  用占位符进行占位,这样在攻击的时候就会吧攻击的内容当成sql语句内容直接插入到数据库 cmd.Param

js属性扩展,继承,属性查找

JavaScript 是一种基于原型的面向对象语言 在 javaScript 中,每个对象都有一个它的原型(prototype)对象的引用,这个原型对象又有自己的原型,直到某个对象的原型为 null 为止,这种一级一级的链结构就称为原型链(prototype chain).比如 定义一个object对象var o={},它的原型为Object.prototype,而Object.prototype的原型为null 下面为示例代码 <script type="text/javascript&

ADO.Net属性扩展

属性扩展 大体意思:有外键关系时将代号化信息处理成原始文字 如:Info表中的民族列显示的是民族代号处理成Nation表中的民族名称 需要在Info类里面扩展一个显示nation名称的属性 using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Text; namespace 实体类_数据访问类.App_Code { public cl