C# 从对应于最大属性的数据库中获取属性
我必须从我的表C# 从对应于最大属性的数据库中获取属性,c#,sql,.net,C#,Sql,.net,我必须从我的表报告中获取账单\u版本,其中账单编号最大 (可以有多个具有相同值但按其票据版本分类的票据编号) 我是C#的新手,不知道关于同样的语法。到目前为止,我能够在变量maxBillNumber中获得最大票据编号。我不想运行另一个查询来获取该账单版本。如何根据我的需要修改此代码 代码如下: int maxBillNumber =0; if (dt1.Rows.Count > 0) { foreach (DataRow dr in dt1.Rows) {
报告中获取账单\u版本
,其中账单编号最大
(可以有多个具有相同值但按其票据版本分类的票据编号)
我是C#的新手,不知道关于同样的语法。到目前为止,我能够在变量maxBillNumber
中获得最大票据编号。我不想运行另一个查询来获取该账单版本。如何根据我的需要修改此代码
代码如下:
int maxBillNumber =0;
if (dt1.Rows.Count > 0)
{
foreach (DataRow dr in dt1.Rows)
{
int bill_number1 = dr.Field<int>("bill_number");
maxBillNumber = Math.Max(maxBillNumber, bill_number1);
}
}
我已经拿到4张了。现在我必须得到相应的3intmaxbillnumber=Convert.ToInt32(dt1.Compute(“max(bill_number)”,string.Empty))代码>在提问之前尝试进行研究。我将以副本的形式结束这篇文章,如果它不能回答你的问题,请告诉我。我猜你误解了我的问题。我已经获取了最大值,您可以看到上面的代码。现在,我必须在不运行另一个查询的情况下获取对应于该最大行的另一列的值@Jeremythonpsonok只需谷歌C#DataTable SelectDataRow[]result=dt1.Select(“bill_number=“+maxBillNumber”);foreach(结果中的DataRow行){Console.WriteLine({0}),row[0]);}
因为数据作为一个数据表全部在内存中,所以这段代码不是另一个查询。很抱歉,我误解了,但这是100多个其他问题的重复,所以我的建议仍然有效int maxBillNumber=Convert.ToInt32(dt1.Compute(“max(bill_number)”,string.Empty))代码>在提问之前尝试进行研究。我将以副本的形式结束这篇文章,如果它不能回答你的问题,请告诉我。我猜你误解了我的问题。我已经获取了最大值,您可以看到上面的代码。现在,我必须在不运行另一个查询的情况下获取对应于该最大行的另一列的值@Jeremythonpsonok只需谷歌C#DataTable SelectDataRow[]result=dt1.Select(“bill_number=“+maxBillNumber”);foreach(结果中的DataRow行){Console.WriteLine({0}),row[0]);}
因为数据作为一个数据表全部在内存中,所以这段代码不是另一个查询。很抱歉,我误解了,但这是100多个其他问题的重复,所以我的建议仍然有效。
var table = new DataTable();
table.Columns.Add("BillNumber", typeof(int));
table.Columns.Add("BillVersion", typeof(int));
// Here we add five DataRows.
table.Rows.Add(1, 0);
table.Rows.Add(2, 0);
table.Rows.Add(3, 0);
table.Rows.Add(4, 1);
table.Rows.Add(4, 2);
table.Rows.Add(4, 3);
var dataRows = table.AsEnumerable().ToList();
var result = dataRows.OrderByDescending(x => x.ItemArray[0]).ThenByDescending(x => x.ItemArray[1]).FirstOrDefault();
if (result != null)
{
Console.WriteLine(result.ItemArray[0].ToString());
Console.WriteLine(result.ItemArray[1].ToString());
}
var table = new DataTable();
table.Columns.Add("BillNumber", typeof(int));
table.Columns.Add("BillVersion", typeof(int));
// Here we add five DataRows.
table.Rows.Add(1, 0);
table.Rows.Add(2, 0);
table.Rows.Add(3, 0);
table.Rows.Add(4, 1);
table.Rows.Add(4, 2);
table.Rows.Add(4, 3);
var dataRows = table.AsEnumerable().ToList();
var result = dataRows.OrderByDescending(x => x.ItemArray[0]).ThenByDescending(x => x.ItemArray[1]).FirstOrDefault();
if (result != null)
{
Console.WriteLine(result.ItemArray[0].ToString());
Console.WriteLine(result.ItemArray[1].ToString());
}
int maxBillNumber = Convert.ToInt32(dt1.Compute("max([bill_number])", string.Empty));
DataRow[] result = dt1.Select("bill_number = " + maxBillNumber);
foreach (DataRow row in result)
{
Console.WriteLine("{0}", row[0]);
}