将2列SQL查询转换为字符串

时间:2014-12-20 00:06:08

标签: c# sql asp.net

我需要一些帮助才能将SQL SELECT(2列)查询转换为字符串。以下是表格的外观: (hID = autonumber,hName = string)

|@@@hID@@@|||@@@hName@@@|
|    1    ||| Yes hotel |
|    2    ||| Ok hotel  |

SQLDataSource具有以下SQL查询:

SELECT [hName], [hID] FROM [hotel]

到目前为止,我已设法存储在数组中。这就是我得到的:

    DataView dv = (DataView)sqlHotels.Select(DataSourceSelectArguments.Empty);

    ArrayList hotelArr = new ArrayList();
    foreach (DataRow dr in dv.Table.Rows)
    {
        hotelArr.Add(dr);
    }

但是我的输出应该是一个如下所示的字符串:

 var hID-1='Yes hotel';
 var hID-2='Ok hotel';

PS:我在看这个: http://www.dotnetperls.com/convert-string-array-string 它主要是有道理的,但在我的修正案之后,我会给我var hID-1;var hID-2;之类的东西。不知道如何解析2列数组。

我感谢任何帮助。感谢。

2 个答案:

答案 0 :(得分:0)

您需要将值拆分出DataRow。假设您之前已定义idname个变量:

foreach (DataRow dr in dv.Table.Rows)
{
    name = dr[0];
    id = dr[1];
}

您还可以按名称索引DataRow,例如name = dr["hName"]。您应该查看文档here

切线,您可能不需要ArrayList。如果您使用此数据指定了您正在执行的操作,我们可能会进一步建议正确的数据结构。

答案 1 :(得分:0)

您可以使用以下内容:

var dv = sqlHotels.Select(DataSourceSelectArguments.Empty).ToList();

ArrayList hotelArr = new ArrayList();
foreach (Hotels dr in dv)
{
    hotelArr.Add(dr.hid.ToString() + " : " + dr.hName);
}
相关问题