Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用字符串ASP.NET C计算数据集_C#_Asp.net_Sql_String_Dataset - Fatal编程技术网

C# 如何使用字符串ASP.NET C计算数据集

C# 如何使用字符串ASP.NET C计算数据集,c#,asp.net,sql,string,dataset,C#,Asp.net,Sql,String,Dataset,我希望能够使用字符串计算数据集。在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(strin

我希望能够使用字符串计算数据集。在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。能告诉我怎么做吗?

试试这个。这将遍历每一行,查看它是否与字符串匹配,然后在该行匹配时执行某些操作。因此,您可能需要多一点代码来完成它

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

现在的问题是你正在打电话。在同一排上。这可能会返回对您没有好处的行的数据类型

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

sql_ds.Tables[0].Rows[0][0].ToString() == stringLumber
这将获得集合中的第一行,然后是第一列。您提到结果中可能有空格,因此如果需要,您可以添加.Trim以删除字符串结尾处的空格。

您调用的是DataRowCollection上的字符串,而不是返回的单元格值

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

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

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

如果计算结果不正确,则返回false,如果为true,则返回false。这是从po选择类型的结果,其中po_num=+stringPO_num。是否存在区分大小写的问题或其他问题?出于某种原因,在后面的空格处打电话很好Lumber@nate编辑了我的答案。请记住,您选择的上述答案将仅评估第一行。这将计算所有行。