如何根据一列获取Database中的完整行

时间:2015-11-26 07:34:35

标签: c# sql database postgresql postgresql-9.1

我在PostGres工作,我有一排让我们说下面的那个:

CustomerID  CustomerName        ContactName     Address         City    PostalCode  Country
  1        Alfreds Futterkiste   Maria Anders   Obere Str. 57   Berlin  12209       Germany
  2         Ana Trujillo         Emparedados    Borlo 2222      México  05021       Mexico

现在我必须将包含City的整行作为México

如果是行号基础,就像这样(非常简单):

select * from Customers limit RowNumber-1, 1

我知道如何在行数基础上获取行但我不知道如何获取列数据的行(我的情况下是墨西哥)?

注意请注意,我必须将每列存储在Class of Class中,我的意思是这样的:

List<Coustomer> cstmr = new List<Coustomer>() ;

//并做这样的事情

foreach(var column in cstmr)
column.CustomerName=Ana Trujillo; // in Mexico's case
column.Country=Mexico;

2 个答案:

答案 0 :(得分:2)

你想要的只是

select * from Customers where City = 'México';

有关使用WHERE子句的更多信息,请阅读此link

答案 1 :(得分:0)

如果我正确理解您的问题,您希望将行的值放在List<Coustomer>的对象中而不是

这可能会为你做到这一点

private IList<Coustomer> MakeCustomers(DataTable dt)
{
    IList<Coustomer> list = new List<Coustomer>();
    foreach (DataRow row in dt.Rows)
        list.Add(MakeCustomer(row));

    return list;
}

private Customer MakeCustomer(DataRow row)
{
    int customerId = int.Parse(row["CustomerId"].ToString());
    string CustomerName = row["CustomerName"].ToString();
    string ContactName = row["ContactName"].ToString();
    string country = row["Country"].ToString();
    //Any other fields which might be pulling from DB
    return new Customer(customerId, company, city, country);
}