声明:本博客转载来源于李天平老师的《项目中的.NET》一书,推荐大家阅读,收获一定是大大的。
C#中采用传统方式进行数据库表信息查询通常有三种方式:
一、【传统的数据库查询】
// <summary>
/// 数据库查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
string connectionString = "data source=VQJREZV7DVSK2QA;Database=codematic;user id=sa;password=admin@123456";
using (SqlConnection myConnection = new SqlConnection(connectionString))
{
SqlCommand cmd = myConnection.CreateCommand();
cmd.CommandText = "SELECT ID,Name,Descn,Price From P_Product order by ID";
myConnection.Open();
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
Response.Write(dr.GetInt32(0).ToString() + "," + dr.GetString(1) + "<br>");
}
}
}
}
二、【对象列表查询】
这里主要是通过泛型List<>的使用,这个类的FillAll方法接收一个委托方法来实现查询符合条件的对象。
(01)声明一个对象
public class Man
{
private string name;
private string sex;
/// <summary>
/// 姓名
/// </summary>
public string Name
{
set { name = value; }
get { return name; }
}
/// <summary>
/// 性别:男,女
/// </summary>
public string Sex
{
set { sex = value; }
get { return sex; }
}
public Man(string Name, string Sex)
{
name = Name;
sex = Sex;
}
}
(02)对以上对象列表进行操作:
protected void Button2_Click(object sender, EventArgs e)
{
//构造对象列表
List<Man> manlist = new List<Man>();
manlist.Add(new Man("李天平", "男"));
manlist.Add(new Man("李嘉诚", "男"));
manlist.Add(new Man("徐静蕾", "女"));
manlist.Add(new Man("随意","女"));
//对象查询
List<Man> mans = manlist.FindAll(
delegate(Man man)
{
return man.Sex == "男";
}
);
//对象遍历输出
foreach (Man man in mans)
{
Response.Write(man.Name + "," + man.Sex + "<br>");
}
}
三、【XML查询】
当数据存储在XML中的时候,可以从XML中查询数据。如下图所示:
protected void Button3_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
// 装入指定的XML文档
string path = Server.MapPath("sampledata.xml");
doc.Load(path);
XmlNodeList stulist = doc.SelectNodes("//学生");//选择匹配节点
foreach (XmlNode stu in stulist)
{
Response.Write(stu["姓名"].InnerText + "," + stu["性别"].InnerText + "<br>");
}
}