我想列出表中的所有数据,但它只返回第一行,它不会循环整个表。 我需要将数据作为字符串返回,因为我将在ASMX Web服务中使用它。在sql表中逐行列出所有数据
和XML架构只返回第一行
<String> data in row 1<String>
我希望它这样的财产以后返回:
<String> data in row 1<String>
<String> data in row 2<String>
<String> data in row 3<String>
和行1到n行....
我已经测试了VS2012查询生成器中的sql语句,并且它工作正常。 所以我需要以某种方式列出所有数据。
这里是我的代码
public String finAllCompaniesForSpesficuserByUserId(String userid)
{
List<String> l = new List<String>();
try
{
String sql = "SELECT Companies.Name FROM UsersInCompanies INNER JOIN Companies ON UsersInCompanies.CompanyId = Companies.CompanyId WHERE UsersInCompanies.UserId ='" + userid + "'";
con = new SqlConnection(cs);
cmd = new SqlCommand(sql, con);
DataTable table = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(table);
con.Open();
dr = cmd.ExecuteReader();
dr.Read();
//while (dr.Read())
//{
// l.Add(dr["Name"].ToString());
//}
foreach (DataRow row in table.Rows)
{
return row["Name"].ToString();
}
}
finally
{
if (con != null)
con.Close();
}
/*
foreach (string p in l)
{
return p;
}
*/
return null;
}
有人点我在正确的方向,或给我一个例子吗?
虽然没有直接关系,你目前遇到的问题,你已经通过构建SQL自己=> HTTP创建的SQL注入攻击矢量.net/techtips/sql-injection.html – cfeduke 2013-03-13 11:14:45
你已经有了一个例子。你已经评论了。将每一行数据添加到列表中。然后在函数结尾处返回列表。降低过早的回报。 – musefan 2013-03-13 11:15:13
您是否使用stringBuilder创建自己的xml?我希望不是,但是我问。 – granadaCoder 2013-03-13 13:28:12