首页 > 解决方案 > 从文本框中选择数据表

问题描述

我有一个这样的数据表:

REFERENCE   DESCRIPTION
AAAA1       AAAA1 DESCRIPTION
AAAA2       AAAA2 DESCRIPTION
AAAA3       AAAA3 DESCRIPTION
AAAA4       AAAA4 DESCRIPTION

如果我做出这样的选择,它工作正常。

DataRow[] row = table.Select("REFERENCE = 'AAAA1'");

但如果我这样做:

string reference = tbRef.Text;
DataRow[] row = table.Select("REFERENCE = '{0}'", reference);

我得到一个异常:System.IndexOutOfRangeException

标签: c#.net

解决方案


DataRow.Select方法不直接支持用于字符串格式化的数字标记。您需要为它提供一个现成的字符串(可以使用这种方法预先创建)。

您可以:

  1. 使用字符串插值:

    DataRow[] row = table.Select($"REFERENCE = '{reference}'");
    

或者

  1. 将现有代码包装在String.Format调用中:

    DataRow[] row = table.Select(String.Format("REFERENCE = '{0}'", reference));
    

演示:https ://dotnetfiddle.net/9puU6w


推荐阅读