LINQ(Language Integrated Query)是.NET框架中的一种查询语言,它允许开发者以声明式的方式编写查询代码,以操作数据集合。LINQ可以应用于数组、集合以及数据库等多种数据源。本文将通过一个简单的C#示例程序,展示如何使用LINQ进行数据库查询。
本示例程序旨在演示如何使用LINQ查询数据库中的数据。程序首先从数据库中读取客户信息,然后通过LINQ查询筛选出特定条件的客户数据。以下是程序的主要步骤:
首先,定义一个客户类(Customer),包含客户的基本信息,如代码、姓名、性别、城市、州和类型。
public class Customer
{
public string Code { get; set; }
public string Name { get; set; }
public string Gender { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Type { get; set; }
}
接下来,创建一个客户列表(CustomerList),用于存储从数据库中读取的客户信息。
List CustomerList;
Customer ObjCustomer;
ArrayList Alist = new ArrayList();
使用SqlConnection连接到数据库,并执行SQL查询,将查询结果填充到DataTable中。然后,遍历DataTable,将每行数据转换为客户对象,并添加到客户列表中。
SqlConnection cn = new SqlConnection("Data Source =System1; Initial Catalog = dbCust; User ID = sa; Password=Pass123");
if (cn.State == ConnectionState.Closed) cn.Open();
SqlCommand objCommand = cn.CreateCommand();
objCommand.CommandType = CommandType.Text;
string StrQuery = "select * from Customer";
objCommand.CommandText = StrQuery;
objCommand.Prepare();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(objCommand);
da.Fill(dt);
for (int i = 0; i < dt.Rows.Count; i++)
{
ObjCustomer = new Customer();
ObjCustomer.Code = dt.Rows[i]["Code"].ToString();
ObjCustomer.Name = dt.Rows[i]["Name"].ToString();
ObjCustomer.Gender = dt.Rows[i]["Gender"].ToString();
ObjCustomer.City = dt.Rows[i]["City"].ToString();
ObjCustomer.State = dt.Rows[i]["State"].ToString();
ObjCustomer.Type = dt.Rows[i]["Type"].ToString();
CustomerList.Add(ObjCustomer);
}
private void btnview_Click(object sender, EventArgs e)
{
var Seleccustomer = from p in CustomerList where p.Name == "codeforum" select p;
foreach (var data in Seleccustomer)
Alist.Add(data);
dataGrid1.DataSource = Alist;
}