我需要一些帮助才能将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列数组。
我感谢任何帮助。感谢。
答案 0 :(得分:0)
您需要将值拆分出DataRow。假设您之前已定义id
和name
个变量:
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);
}