C# 无法在webmethod中循环所有数据库值并在asmx中显示
我试图通过web服务中的webmethod循环并显示数据库中的所有值。然后我尝试以asmx格式适当地显示它C# 无法在webmethod中循环所有数据库值并在asmx中显示,c#,web-services,loops,C#,Web Services,Loops,我试图通过web服务中的webmethod循环并显示数据库中的所有值。然后我尝试以asmx格式适当地显示它 public class eCommerce { public string ItemName { get; set; } public string cost { get; set; } } 我试图使用get set来获取相应的数据 下面,我还尝试将.hasRow与while循环一起使用。但是,它只显示并返回数据库中的第一行数据 [WebMethod] public e
public class eCommerce
{
public string ItemName { get; set; }
public string cost { get; set; }
}
我试图使用get set来获取相应的数据
下面,我还尝试将.hasRow
与while循环一起使用。但是,它只显示并返回数据库中的第一行数据
[WebMethod]
public eCommerce ItemAvailable(string itemcategory)
{
eCommerce Item = new eCommerce();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("SELECT ItemName, Cost FROM eCommerce Where Category ='"+itemcategory+"'", con);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Item.ItemName = Convert.ToString(dr["ItemName"]);
Item.cost = Convert.ToString(dr["Cost"]);
}
}
con.Close();
return Item;
}
我是否遗漏了任何能够循环并返回数据库中所有值的内容。while循环正在覆盖每个循环中的项。看起来您想要返回多个电子商务实例,那么为什么不返回一个列表呢
[WebMethod]
public eCommerce ItemAvailable(string itemcategory)
{
eCommerce Item = new eCommerce();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("SELECT ItemName, Cost FROM eCommerce Where Category ='"+itemcategory+"'", con);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Item.ItemName = Convert.ToString(dr["ItemName"]);
Item.cost = Convert.ToString(dr["Cost"]);
}
}
con.Close();
return Item;
}
[WebMethod]
public List<eCommerce> ItemAvailable(string itemcategory)
{
List<eCommerce> allItems = new List<eCommerce>();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("SELECT ItemName, Cost FROM eCommerce Where Category ='"+itemcategory+"'", con);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
item = new eCommerce();
item.ItemName = Convert.ToString(dr["ItemName"]);
item.cost = Convert.ToString(dr["Cost"]);
allItems.add(item);
}
}
con.Close();
return allItems;
}
[WebMethod]
公共列表项可用(字符串项类别)
{
列表所有项=新列表();
SqlConnection con=新的SqlConnection(ConfigurationManager.ConnectionString[“ConnectionString”].ConnectionString);
con.Open();
SqlCommand cmd=new SqlCommand(“选择项目名称,电子商务成本,其中类别=”“+itemcegory+””,con);
SqlDataReader dr=cmd.ExecuteReader();
如果(哈斯罗博士)
{
while(dr.Read())
{
项目=新的电子商务();
item.ItemName=Convert.ToString(dr[“ItemName”]);
item.cost=转换为字符串(dr[“成本]);
所有项目。添加(项目);
}
}
con.Close();
返回allItems;
}