【发布时间】:2016-08-20 07:06:00
【问题描述】:
我有以下代码
public class dthvendas: System.Web.Services.WebService {
public class typVenda
{
//public string campanha;
public string id;
public string contact_moment;
public string nome;
// few more properties
}
[WebMethod][SoapDocumentMethod]
public typVenda getListaVendas(string dt_min, string dt_max)
{
//venda vendas = new List<venda>();
typVenda objVenda = new typVenda();
SqlConnection con = new SqlConnection(@"Data Source=server;Initial Catalog=database;User ID=user;password=password");
//SqlCommand cmd = new SqlCommand("SELECT * FROM dbo where contact_moment >='" + dt_min + "' AND contact_moment <DATEADD(dd, 1, '" + dt_max + "')", con);
SqlCommand cmd = new SqlCommand("SELECT * FROM dbo.vcnosadesoes_getlistavendas", con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
//var objVenda = new typVenda();
//objVenda.campanha = dr["id"].ToString();
objVenda.id = dr["id"].ToString();
objVenda.contact_moment = dr["contact_moment"].ToString();
objVenda.nome = dr["nome"].ToString();
objVenda.pacote = dr["pacote"].ToString();
objVenda.telefone = dr["telefone"].ToString();
objVenda.codigo_wc = dr["codigo_wc"].ToString();
//vendas.Add(objVenda);
}
dr.Close();
}
con.Close();
return objVenda;
//return vendas.ToArray();
}
问题是只返回第一行而不是表中的所有行。任何想法可能是什么问题?
当我返回它时,它说“这个 XML 文件似乎没有任何与之关联的样式信息。文档树如下所示。”它应该有这样的标题:
<?xml version="1.0" encoding="UTF‐8" ?>
【问题讨论】:
-
我认为可能是最后一行
-
嗯,是的,你的方法被声明为返回
typVenda,这是一个单一的结果。也许您想返回List<typVenda>? (此时,您应该为循环的每次迭代创建一个新实例。)此外,您应该为 SqlConnection 等使用using语句,重命名所有内容以遵循 .NET 命名约定,并使用参数化 SQL。跨度> -
您的问题包含太多无关代码。我没有费心去阅读那些不立即可见的东西。
标签: c# sql web-services reader