在将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列数组。
我很感谢你的帮助。谢谢。
发布于 2014-12-20 01:09:46
您需要将值从DataRow中分割出来。假设您以前已经定义了id和name变量:
foreach (DataRow dr in dv.Table.Rows)
{
name = dr[0];
id = dr[1];
}您还可以按名称索引到DataRow,如name = dr["hName"]。您应该看看文档,这里。
切题是,您可能不想要一个ArrayList。如果您指定如何处理这些数据,我们可能会进一步建议正确的数据结构。
发布于 2014-12-20 01:16:34
您可以使用以下内容:
var dv = sqlHotels.Select(DataSourceSelectArguments.Empty).ToList();
ArrayList hotelArr = new ArrayList();
foreach (Hotels dr in dv)
{
hotelArr.Add(dr.hid.ToString() + " : " + dr.hName);
}https://stackoverflow.com/questions/27575653
复制相似问题