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

1 数据库访问类查询

(1)查询一条

有参数:查询这条信息的主键;

有返回值:返回值是一个实体类;

dr.read();执行一遍,读取这行信息并放进users类型中。

///返回users实体类类型

public users chayi(string name)

{

users u = null;

com.CommandText = "select *from users where uname=@name";

com.Parameters.Clear();

com.Parameters.Add("@name",name);

conn.Open();

SqlDataReader dr = com.ExecuteReader();

if (dr.HasRows)///判断是否有信息

{

///读取这行信息并放进users类型中

dr.Read();

u = new users();///实例化

u.uname = dr[0].ToString();

u.umima = Convert.ToInt32(dr[1].ToString());

u.unicheng = dr[2].ToString();

u.usex = Convert.ToBoolean(dr[3].ToString());

u.ubir = Convert.ToDateTime(dr[4].ToString());

u.uzu = dr[5].ToString();

}

conn.Close();

return u;

}

(2)查询所有

无参数;

有返回值:将返回的值放进泛型集合;

dr.read();循坏读取,每读取一遍,将这行数据放入一个实体类,再把这个实体类放进泛型集合。

///返回类型 泛型集合

public List chasuo()

{

List list=new List();///实例化泛型集合

users u = null;

com.CommandText = "select * from users";

conn.Open();

SqlDataReader dr = com.ExecuteReader();

if(dr.HasRows)///判断是否有信息

{

while(dr.Read())//循环读取,每次一行

{

///将每行数据放入实体类

u = new users();///实例化实体类

u.uname = dr[0].ToString();

u.umima =Convert.ToInt32(dr[1].ToString());

u.unicheng = dr[2].ToString();

u.usex = Convert.ToBoolean(dr[3].ToString());

u.ubir =Convert.ToDateTime( dr[4].ToString());

u.uzu = dr[5].ToString();

list.Add(u); ///将一个实体类放入泛型集合

}

}

conn.Close();

return list;

}

遍历集合显示所有信息,每遍历一次显示一行。

List list1 = ud.chasuo();//调用查询所有的函数

Console.WriteLine("姓名" + "\t" + "密码" + "\t" + "昵称" + "\t" + "性别" + "\t" + "出生日期" + "\t" + "民族");

if(list1.Count>0)

{

foreach(users u1 in list1)//遍历集合

{

Console.WriteLine(u1.uname + "\t" + u1.umima +"\t" + u1.unicheng + "\t" + u1.usexget + "\t" + u1.ubirget+"\t" + u1.uzuget);

}

}

2 属性扩展

(1)实体类中的成员变量加上一个只读属性,可使显示内容达到我们真正想显示的

private bool_usex;//私有成员变量public boolusex //成员变量的属性(可读可写)

{get { return_usex; }set { _usex =value; }

}public stringusexget //成员变量的属性(只读)

{get { return _usex ? "男" : "女"; }//可使显示的内容是"男"或"女",而不是bool类型。

}

(2)可将具有外键关系的列显示内容而不是代号

A 先将外键连接的表写成两个类:实体类,数据访问类。

数据访问类 包含一个查询函数:参数是 ,返回值是。

B 实体类中外关键字加一个只读属性

属性中调用外键连接的表数据访问类的查询函数,显示时可将代号改成内容。

private string_uzu ;//私有成员变量public stringuzu//成员变量的属性(可读可写)

{get { return_uzu; }set { _uzu =value; }

}public stringuzuget //成员变量的属性(只读)

{get{

mingzudata mz= newmingzudata();string mn =mz.cha(_uzu).Mname;//调用外键连接表数据访问类的查询函数returnmn;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值