2
該表只存在於內存中,因此不能執行快速的SQL查詢。如何使用RowFilter查找列中最長字符串的長度?
我需要查找數據表的列中最長的字符串。
由於處理表的大小,我不能只做一個原始的逐行大小檢查,但必須使用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."
有什麼建議?
UPDATE:
OK,所以我得到了它的工作如下:
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;
這種不正確的:你有重複我的第一次嘗試得到的結果如上所示,它只是返回字母最後一項 – callisto
對不起沒有得到你,'Compute'應該返回最長的字符串 – V4Vendetta
你的評論「否則你也可以去添加一個額外的列「是什麼使我找到了解決辦法,因此對你來說是綠燈。 – callisto