gpt4 book ai didi

c# - 如何使用 RowFilter 查找列中最长字符串的长度?

转载 作者:太空宇宙 更新时间:2023-11-03 14:12:47 26 4
gpt4 key购买 nike

此表仅存在于内存中,因此无法进行快速 SQL 查询。

我需要在数据表的列中找到最长的字符串。

由于处理的表的大小,我不能只进行原始的逐行大小检查,而是必须使用 RowFilter。

我试过这些:

 dv.RowFilter = "[" + colName + "] = MAX([" + colName + "])"//incorrect results

dv.RowFilter = "[" + colName + "] = MAX(LEN([" + colName + "]))" // Gives error "Expecting a single column argument with possible 'Child' qualifier."

dv.RowFilter = "MAX(LEN([" + colName + "]))" // Gives error "Expecting a single column argument with possible 'Child' qualifier."

有什么建议吗?

更新:

好的,所以我得到它与以下工作:

dataView.RowFilter = "[fieldsize_" + colName + "] = MAX([fieldsize_" + colName + "])"; //add column for size
dataTableSize = dataView.ToTable();

string strMaxValue = dataTableSize.Rows[0][column.ColumnName].ToString();
int colSize = strMaxValue.Length;

最佳答案

你能试试这些线路吗

string maxstring = (string)dt.Compute("MAX(C1)","ISNULL(C1,'') <> ''");

这里的 C1 是您关注的列名,您将获得该列中的最大字符串值,您可以轻松地从中找到长度。

这适用于非文本列。

对于文本列,您可以着手添加一个额外的列,该列将被评估为 LEN(C1)(使用 Expression 的属性新列,然后您可以根据 MAX

进行过滤

关于c# - 如何使用 RowFilter 查找列中最长字符串的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7305606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com