如何使用字符串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。有人能告诉我怎么做吗?
您在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.
}
}
}