如何使用字符串ASP.NET C#评估数据集

本文关键字:评估 数据集 NET ASP 何使用 字符串 | 更新日期: 2023-09-27 18:14:22

我希望能够用字符串评估数据集。在SQL语句中,我将使用数据集提取数据,如果数据集与字符串匹配,我想做点什么。我搞不懂这样做的语法。

这是我的代码:

var sql = new SQL_Statements();
var stringSql = "select type from po where po_num=" + stringPO_NUM;
const string stringLumber = "Lumber";
var sql_ds = sql.SelectFromDB(stringSql);
if (sql_ds.Tables[0].Rows.ToString() == stringLumber)
{
   //Lets do something.
}

数据集正在从表中提取单词Lumber。有人能告诉我怎么做吗?

如何使用字符串ASP.NET C#评估数据集

您在DataRowCollection上调用ToString,而不是返回的单元格值。

由于您的查询只返回行中的一个单元格,您可以通过直接索引DataRow来访问第一个单元格:

if (sql_ds.Tables[0].Rows[0][0].ToString() == stringLumber)

Rows[0][0]中,第一个0是行索引,第二个是列索引。

现在的问题是您正在行上调用.ToString。这可能会返回行的数据类型,这对您没有好处。

您需要选择一个特定的行,然后选择该行内的一个特定列值。如果只返回一行,您可以尝试:

sql_ds.Tables[0].Rows[0][0].ToString() == stringLumber

这将获得集合中的第一行,然后是第一列。您提到结果中可能有空格,因此如果需要,可以添加.Trim((来删除字符串开头或结尾的空格。

试试这个。这将遍历每一行,看看它是否与您的字符串匹配,然后在该行匹配的情况下执行操作。所以你可能需要更多的代码来完成它

foreach (DataTable table in sql_ds.Tables)
{
    foreach (DataRow row in table.Rows)
    {
        if (row.Field["ROW_NAME"].ToString() == stringLumber)
            {
                //Lets do something.
            }
    }
}