C#我有一张表,怎么获取某一列下面的含有数据的单元格加入数组里面 SqlHelper sql = new SqlHelper();
DataTable dt = sql.GetTableFromStoredProcedure(); // 调用获取表格的方法
// 使用 LINQ 查询语句获取某一列下面含有数据的行
var columnName = "Spi1"; // 替换为您要查询的列名
IEnumerable<string> columnData = dt.AsEnumerable()
.Select(row => row.Field<string>(columnName))
.Where(cell => !string.IsNullOrEmpty(cell));
// 将数据加入到数组中
string[] dataArray = columnData.ToArray();
在Where()
方法中添加了一个条件cell != "-"
,用于排除值为"-"的单元格。
为什么前端path是"G:\Homework\H5响应式" 通过$.ajax({
url: '/Resource/oresource',
data: {
path: path
},传值给后端就变成了G%3A%5CHomework%5CH5响应式
这是因为在 URL 中,某些字符需要进行编码以确保传递的数据是有效的和安全的。 路径中包含了一些特殊字符,如反斜杠 \
,它们需要被编码才能正确传递给后端。
编码后的字符串 "G%3A%5CHomework%5CH5响应式" 是 URL 编码的结果。这种编码方式使用百分号和十六进制表示来替换特殊字符。
在前端使用 $.ajax()
函数发送请求时,jQuery 会自动对 URL 中的参数进行编码,以确保数据的正确传递。后端接收到请求时会自动将编码后的字符串解码回原始的形式。
后端应该能够正确解析并使用传递的路径参数。在后端代码中, 可以使用相应的解码函数将编码后的字符串转换回原始的路径形式。例如,在 C# 中可以使用 HttpUtility.UrlDecode()
方法进行解码。
string encodedPath = "G%3A%5CHomework%5C大一项目%5CH5响应式%5CH5响应式";
string decodedPath = HttpUtility.UrlDecode(encodedPath);