C# 将2列SQL查询转换为字符串
我需要一些关于将SQL SELECT(2列)查询转换为字符串的帮助。以下是表格的外观: (hID=自动编号,hName=字符串) SQLDataSource具有以下SQL查询:C# 将2列SQL查询转换为字符串,c#,sql,asp.net,C#,Sql,Asp.net,我需要一些关于将SQL SELECT(2列)查询转换为字符串的帮助。以下是表格的外观: (hID=自动编号,hName=字符串) SQLDataSource具有以下SQL查询: SELECT [hName], [hID] FROM [hotel] 到目前为止,我已经成功地存储在一个数组中。以下是我得到的: DataView dv = (DataView)sqlHotels.Select(DataSourceSelectArguments.Empty); ArrayList h
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:我在看这个:
这在很大程度上是有道理的,但在我的amendments之后,它只会给我一些类似var hID-1的东西;var-hID-2代码>。不确定如何解析2列数组
谢谢你的帮助。谢谢。您需要将数据行中的值拆分出来。假设您以前定义了id
和name
变量:
foreach (DataRow dr in dv.Table.Rows)
{
name = dr[0];
id = dr[1];
}
您还可以按名称索引数据行,如name=dr[“hName”]
。您应该看看文档
切向而言,您可能不需要ArrayList。如果您指定使用这些数据执行的操作,我们可能能够进一步建议正确的数据结构 您可以使用以下内容:
var dv = sqlHotels.Select(DataSourceSelectArguments.Empty).ToList();
ArrayList hotelArr = new ArrayList();
foreach (Hotels dr in dv)
{
hotelArr.Add(dr.hid.ToString() + " : " + dr.hName);
}
你能给我们表格定义吗?“我的输出”是什么?你没有输出任何东西。你打算用hotelArr做什么?我用的是.NETFramework4.5@Dour High Arch,嗯,我想把hotelArr(数组)转换成字符串,但我想这是多余的——我想做DataView>array>string更容易理解。@Jester,你说的表定义是什么意思?id=dr.Field(“hID”)代码>name=dr.Field(“hName”)代码>hotels+=“var hID-”+id+“='”+name+”;”谢谢,我已经做到了。无论如何,我要做的是创建javascript变量,因为我在数据库中为我的web应用程序使用桥接表。我在页面上使用一个转发器来显示有关房间的信息,而不是酒店的名称,我得到了酒店ID-因此我正在寻找一种方法,在同一个asp.net转发器对象中将酒店ID更改为酒店名称。
var dv = sqlHotels.Select(DataSourceSelectArguments.Empty).ToList();
ArrayList hotelArr = new ArrayList();
foreach (Hotels dr in dv)
{
hotelArr.Add(dr.hid.ToString() + " : " + dr.hName);
}